一、隨機數的介紹和基本用法
隨機數是計算機程序中非常重要的概念,Python也提供了一系列的隨機數生成函數。其中,最基本的是random模塊中的randint函數。該函數能夠生成一個[a, b]範圍內的整數:
import random
x = random.randint(a, b) # 生成隨機整數x,a <= x <= b
如果需要生成n個隨機整數,可以使用for循環:
import random
n = 10
lst = []
for i in range(n):
x = random.randint(a, b)
lst.append(x)
此時,lst中就存儲了n個[a, b]範圍內的隨機整數。
二、使用隨機數製作有趣的遊戲
隨機數生成不僅有實用性,還可以用於製作有趣的遊戲。比如猜數字遊戲,遊戲規則是程序隨機生成一個[a, b]範圍內的整數,用戶需要通過輸入猜出這個整數是多少。
首先,程序需要生成隨機整數:
import random
a, b = 1, 100
answer = random.randint(a, b)
然後,用戶需要逐次輸入猜測值,並通過程序判斷是否猜中。如果猜中,遊戲結束,否則提示用戶需要繼續猜測:
while True:
guess = input("請輸入一個整數: ")
guess = int(guess)
if guess == answer:
print("恭喜你猜中了!答案是:", answer)
break
elif guess < answer:
print("你猜的數字偏小了,再試一次吧!")
else:
print("你猜的數字偏大了,再試一次吧!")
三、使用隨機數製作抽獎程序
還可以使用隨機數生成有趣的抽獎程序。現在有一個抽獎活動,需要從1000名用戶中選出10個幸運兒,並且每個用戶的中獎概率是不同的。其中,ID以1000為起點,以9999為終點,中獎概率為ID的個位數,比如1002的中獎概率為2%。
首先,生成1000名用戶的ID和對應的中獎概率:
import random
probs = []
for id in range(1000, 10000):
prob = id % 10 # 中獎概率為ID的個位數
probs.append(prob)
然後,可以使用random.choices函數進行抽獎。該函數能夠從權重列表中,按照對應權重生成指定數量的隨機數:
winners = random.choices(range(1000, 10000), weights=probs, k=10)
此時,winners列表中就隨機存儲了10個幸運兒的ID。可以通過ID映射到對應用戶,進行後續操作。
原創文章,作者:PSDU,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/133288.html