题目要求:
模拟轮盘抽奖游戏
轮盘分为三部分: 一等奖, 二等奖和三等奖;
轮盘转的时候是随机的,
- 如果范围在[0,0.08)之间,代表一等奖,
- 如果范围在[0.08,0.3)之间,代表2等奖,
- 如果范围在[0, 1.0)之间,代表3等奖,
模拟本次活动1000人参加, 模拟游戏时需要准备各等级奖品的个数.
实现如下:
import random
rewardDict = {
'一等奖':(0,0.08),
'二等奖':(0.08,0.3),
'三等奖':(0.3,1.0)
} ##生成奖项与得奖的等级的字典
def Fun(): ##定义奖项及得奖等级的函数
num=random.random() #生成0到1的随机数
for k,v in rewardDict.items(): #判断随机转盘转的时几等奖
if v[0]<=num< v[1]: ##得奖范围即value数值在0到1之间
return k ##返回key,即几等奖
resultdict = {} ##定义字典存放得奖等级及个数
res = Fun() ##调用得奖函数,该函数返回的是得奖的等级,比如一等奖,二等奖
if res not in resultdict: 如果key值不在字典中
resultdict[res] = 1 ##定义为1
else:
resultdict[res] += 1 ##如果在的话加1
for k,v in resultdict.items(): ##编历该字典
print(k,'---',v)