抽奖程序(python)
程序员文章站
2022-03-19 11:37:55
...
抽奖程序:
1、每次抽奖完成,会提示是否继续抽奖,只有输入“是”才继续抽奖
2、抽奖逻辑:
(1)生产0-100的整数,构造成列表
(2)构造三个列表,分别是一等奖、二等奖、三等奖中奖号码
(3)每次生成一个随机数,然后看是否在中奖号码里,如果在,打印一句话:
“恭喜您,第{}次中一等奖,中奖号码是:{}”;已经中奖的号码,下一次不会被抽到
每人可以抽奖三次,抽奖完成后打印出分别1/2/3等奖的中奖号码,然后等待下一次抽奖
代码:
'''
抽奖程序:
1、每次抽奖完成,会提示是否继续抽奖,只有输入“是”才继续抽奖
2、抽奖逻辑:
(1)生产0-100的整数,构造成列表
(2)构造三个列表,分别是一等奖、二等奖、三等奖中奖号码
(3)每次生成一个随机数,然后看是否在中奖号码里,如果在,打印一句话:
"恭喜您,第{}次中一等奖,中奖号码是:{}";已经中奖的号码,下一次不会被抽到
每人可以抽奖三次,抽奖完成后打印出分别1/2/3等奖的中奖号码,然后等待下一次抽奖
'''
import random
def lottery():
# 生成抽奖列表
# 用集合,一二三等奖的不可以重复
number = [] # 中奖号码 一共18个
First_prize = [] # 一等奖 假设一等奖有10个中奖number
Second_prize = [] # 二等奖 假设二等奖有15个中奖number
Thire_prize = [] # 三等奖 假设三等奖有20个中奖number
# 中奖号码
while len(set(number)) < 45:
number.append(random.randint(0,100))
number = list(set(number))
# 将中奖号码分配给一二三等奖
while True:
if len(First_prize) < 10:
First_prize.append(number.pop())
elif len(Second_prize) < 15:
Second_prize.append(number.pop())
elif len(Thire_prize) < 20:
Thire_prize.append(number.pop())
if len(First_prize) == 10 and len(Second_prize) == 15 and len(Thire_prize) == 20:
break
return First_prize,Second_prize,Thire_prize
def main():
# 打印抽奖
i = 0 # 每个人三次机会
first_count = 0 # 一等奖中奖次数
second_count = 0 # 二等奖中奖次数
third_count = 0 # 三等奖中奖次数
first = [] # 一等奖中奖列表
second = [] # 二等奖中奖列表
third = [] # 三等奖中奖列表
First_prize,Second_prize,Thire_prize = lottery()
while i < 3:
number = random.randint(0,100) # 随机生成一个中奖号码
if number in First_prize: # 在一等奖列表中
first_count += 1
first.append(number)
First_prize.remove(number)
print("恭喜您,第{}次中一等奖,中奖号码是:{}".format(first_count,number))
elif number in Second_prize: # 在二等奖列表中
second_count += 1
second.append(number)
Second_prize.remove(number)
print("恭喜您,第{}次中二等奖,中奖号码是:{}".format(second_count,number))
elif number in Thire_prize: # 在二等奖列表中
third_count += 1
third.append(number)
Thire_prize.remove(number)
print("恭喜您,第{}次中三等奖,中奖号码是:{}".format(third_count,number))
i += 1
print('一等奖中奖号码:',first)
print('二等奖中奖号码:',second)
print('三等奖中奖号码:',third)
key = input('抽奖结束,输入"是"进行一轮新的抽奖:')
if key == '是':
return main()
else:
print('游戏结束')
if __name__ == "__main__":
main()
运行结果:
上一篇: Java每日一练(4)
下一篇: U-net网络