【Python】random模块生成多种类型随机数
生活随笔
收集整理的這篇文章主要介紹了
【Python】random模块生成多种类型随机数
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
開發和測試過程中我們經常遇到需要隨機數的場景,比如為了用戶密碼更安全我們有時會加入隨機碼,也就是將用戶原密碼連接上一串隨機字符然后加密保存,又比如我們可能需要隨機展示某張圖片等等。這篇文章主要介紹了各種生成隨機數的方法,主要用到了random模塊。
# 1. 生成隨機小數
# 2. 生成隨機整數
# 3. 拿指定列表中數據生成隨機數
# 4. 獲取純數字可重復隨機數
# 5. 獲取純數字不可重復隨機數
# 6. 獲取數字和字母組合的隨機數,可重復
?# 7. 獲取數字和字母組合的隨機數,不可重復
以下是主要示例代碼:
# -*- coding: utf-8 -*- ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' #作者:cacho_37967865 #博客:https://blog.csdn.net/sinat_37967865 #文件:randomData.py #日期:2019-09-02 #備注:多種隨機數生成方法 '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''import random# 1. 生成隨機小數 def get_random():data1 = random.random()data2 = random.uniform(0,1)print("隨機大于0且小于1之間的小數:",data1)print("隨機一個大于N小于M的小數:",data2)# 2. 生成隨機整數 def get_randint():data1 = random.randint(1,5)data2 = random.randrange(1,10,2)data3 = random.randrange(2, 10, 2)print("隨機一個大于等于1且小于等于5的整數:",data1)print("隨機一個大于等于1且小于10之間的奇數,其中2表示遞增基數:",data2)print("隨機一個大于等于1且小于10之間的偶數,其中1表示遞增基數:", data3)# 3. 拿指定列表中數據生成隨機數 def get_fromList():list = ['123','abc',1,[1,2]]data1 = random.choice(list)data2 = random.sample(list,4)print("從列表隨機選擇數:",data1)print("從列表隨機選擇N個數:", data2) # 拿出來的數不會重復,而且數量要小于等于列表長度random.shuffle(list)print("random.shuffle(list)打亂列表的順序:", list)# 4. 獲取純數字可重復隨機數 def get_verifyCode(n):codes = []for i in range(n):num = str(random.randint(0,9))codes.append(num)code = ''.join(codes)print("生成N位數的數字隨機數,可重復:",code)return(code)# 5. 獲取純數字不可重復隨機數 def get_difCode(n):codes = []for i in range(10):codes.append(str(i))code = random.sample(codes, n)code = ''.join(code)print("生成N位數的數字隨機數,不可重復:",code)return(code)# 6. 獲取數字和字母組合的隨機數,可重復 def get_mixCode(n):codes = []temp_code = []for i in range(10):codes.append(str(i))for i in range(97,123):codes.append(chr(i)) # 26個小寫英文字母for i in range(97,123):codes.append(chr(i).upper()) # 26個大寫英文字母for i in range(n):n_code = random.choice(codes)temp_code.append(n_code)code = ''.join(temp_code)#print("生成N位數的數字隨機數,可重復:",code)return(code)# 7. 獲取數字和字母組合的隨機數,不可重復 def get_mix_difCode(n):codes = []for i in range(10):codes.append(str(i))for i in range(97,123):codes.append(chr(i)) # 26個小寫英文字母for i in range(97,123):codes.append(chr(i).upper()) # 26個大寫英文字母code = random.sample(codes, n)code = ''.join(code)#print("生成N位數的數字隨機數,不可重復:",code)return(code)if __name__ == '__main__':get_random()#get_randint()#get_fromList()#get_verifyCode(6)#get_difCode(6)#get_mixCode(6)?
總結
以上是生活随笔為你收集整理的【Python】random模块生成多种类型随机数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Python爬虫】微信公众号历史文章和
- 下一篇: Jmeter BeanShell采样器提