题目如下:
模拟轮盘抽奖游戏
轮盘分为三部分: 一等奖, 二等奖和三等奖;
轮盘转的时候是随机的,
模拟本次活动1000人参加, 模拟游戏时需要准备各等级奖品的个数. #方法1: import random #随机数模块 def people(): #定义一个函数,用来存放1000个模拟用户的随机数 li = [] for i in range(1000): a = random.random() li.append(a) return li Count_1 = 0 Count_2 = 0 Count_3 = 0 for i in people(): if i >= 0 and i < 0.08: Count_1 += 1 elif i >= 0.08 and i < 0.3: Count_2 += 1 elif i >= 0.3 and i < 1: Count_3 += 1 print("一等奖:", Count_1, "二等奖:", Count_2, "三等奖:", Count_3) #方法二: import random def fun(num): if num >= 0 and num < 0.08: return 1 elif num >= 0.08 and num < 0.3: return 2 else: return 3 # 主函数 Count_1 = 0 Count_2 = 0 Count_3 = 0 reward = {} people = int(input("请输入人数:")) for i in range(people): num = float(format(random.random(), '.2f')) if fun(num) == 1: Count_1 += 1 elif fun(num) == 2: Count_2 += 1 elif fun(num) == 3: Count_3 += 1 reward = {'一等奖': Count_1, '二等奖': Count_2, '三等奖': Count_3} print(reward) #方法三 import random def fun(people): Count_1 = 0 Count_2 = 0 Count_3 = 0 for i in range(people): num = float(format(random.random(), '.2f')) if num >= 0 and num < 0.08: Count_1 += 1 elif num >= 0.08 and num < 0.3: Count_2 += 1 else: Count_3 += 1 return Count_1, Count_2, Count_3 # 主函数 # reward = {} people = int(input("请输入人数:")) Count_1, Count_2, Count_3 = fun(people) reward = {'一等奖': Count_1, '二等奖': Count_2, '三等奖': Count_3} print(reward) #方法四: import random rewardDict = { '一等奖':(0,0.08), '二等奖':(0.08,0.3), '三等奖':(0.3,1.0) } def rewardFun(): """用户得奖等级""" #生成一个0~1之间的随机数 num = random.random() #判断随机转盘转的是几等奖 for k,v in rewardDict.items(): if v[0] <= num < v[1]: return k resultDict = {} for i in range(1000): res = rewardFun() if res not in resultDict: resultDict[res] = 1 else: resultDict[res] += 1 for k,v in resultDict.items(): print(k,'------>',v)