一、随机数的介绍和基本用法
随机数是计算机程序中非常重要的概念,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映射到对应用户,进行后续操作。