模拟轮盘抽奖游戏
轮盘分为三部分: 一等奖, 二等奖和三等奖;
轮盘转的时候是随机的,
如果范围在[0,0.08)之间,代表一等奖,
如果范围在[0.08,0.3)之间,代表2等奖,
如果范围在[0, 1.0)之间,代表3等奖,
模拟本次活动1000人参加, 模拟游戏时需要准备各等级奖品的数量。
1 首先预先定义奖项及对应的数字区间。
2 模拟用户转轮盘,随机生成数字,判断其区间,找到区间对应的奖项等级。
3 最终目标为求解各奖项数量,那么每个奖项都需要将对应的数量存储并显示出,从这个角度思考,可重新定义一个空字典,在一千遍的循环过程中,将各奖项和对应的奖品数量存储到字典,最后输出即可。
import random
Reword_Dict={
"一等奖":(0,0.08),
"二等奖":(0.08,0.3),
"三等奖":(0.3,1)
}
#随机单次轮盘抽奖对应的奖项等级
def one_rolutte():
user_num = random.random() ##随机生成一个0到1之间的浮点数
for k,v in Reword_Dict.items():
if v[0]<= user_num <=v[1]:
return k
Reowrd_count = {}
for i in range(1000):
once_result = one_rolutte()
if once_result not in Reowrd_count:
Reowrd_count[once_result]=1
else:
Reowrd_count[once_result]+=1
#输出最终结果
for k,v in Reowrd_count.items():
print(k,v)
此间不熟悉的点在于字典的遍历查找,可通过以下代码查找字典中的关键字及关键字对应的数字区间,并确定区间范围,以及对应的获奖级别,返回获奖级别。
for k,v in Reword_Dict.items():
if v[0] <= user_num <=v[1]:
return k
生成一个0到1之间的随机数,random.random()括号内不需要加任何数值或区间。
random.random( )
最后还需将新的字典中的key值和value值遍历输出。