取(0-1)之間的小數app
print(random.random()) 屢次運行結果: 0.7625585812371684 0.41751820355234404 0.08773753644629267
取(m-n)之間的小數dom
print(random.uniform(3, 4)) 屢次運行結果: 3.316786336794635 3.2022091764571763 3.0448438517470997
隨機取m,n之間的整數,包括m以及n函數
print(random.randint(1, 3)) 屢次運行結果: 3 1 1 2
隨機取m,n之間的整數,包括m但不包括nmspa
print(random.randint(1, 3)) 屢次運行結果: 1 1 2 1
隨機在m,n區間內每兩個數的數列中取一個整數,一樣包括m,但不包括ncode
print(random.randrange(1, 4, 2)) 屢次運行結果: 1 3 3
從列表中隨機取一個值orm
lst = ['a', 'b', (1, 2), 123] print(random.choice(lst)) 運行結果: b 123
從列表中隨機取n個值blog
lst = ['a', 'b', (1, 2), 123] print(random.sample(lst, 2)) 運行結果: ['b', 'a'] [123, 'b']
打亂列表順序內存
在原列表的基礎上修改,節省內存字符串
生成驗證碼函數的小練習it
要求能夠選擇生成驗證碼的位數以及純數字或是字母數字的組合形式
def func(n=4, flag=True): ''' 這個函數是用來:隨機生成字母數字的驗證碼 :param n:驗證碼的位數,默認爲4 :param flag:當flag爲True時輸出字母數字組合的驗證碼,爲False時輸出出數字,默認爲True :return:返回的是:驗證碼的字符串 ''' a = "" for i in range(n): num = random.randint(0, 9) if flag: alpha_upper = chr(random.randint(65, 90)) alpha_lower = chr(random.randint(97, 122)) num = random.choice([num, alpha_lower, alpha_upper]) a = a+str(num) return a
拼手氣紅包的練習
# 版本一,數量越多,出現的極小金額越多 def func1(num, money): ''' 這個函數是用來 手氣紅包 :param num:紅包個數 :param money:紅包金額 :return:返回的是 所搶紅包金額 ''' lst = [] n = 1 sum = 0 for i in range(num-1): a = random.randint(1, money*100-(num-n)-sum) lst.append(a/100) n += 1 sum += a lst.append((money*100-sum)/100) print(lst) lit = random.sample(lst, num) for j in lit: return j print(func1(10, 200)) # 版本二,金額相對平均,與手氣相關程度小 def func2(num, money): money = money * 100 ret = random.sample(range(1, money), num-1) ret.sort() ret.insert(0, 0) ret.append(money) for i in range(len(ret) - 1): yield (ret[i+1] - ret[i])/100 ret_g = func2(50, 10) for money in ret_g: print(money)