循环语句和条件语句的综合应用
"""
彩票:双色球
红色:6个 1-33之间整数 不能重复
蓝色:1个 1-16之间整数
-- 随机创建一注彩票(列表,蓝色作为最后一个元素)
-- 在终端中录入(购买)一注彩票
提示:"请输入第1个红色号码" "数字超过范围" "号码已经存在"
一等奖是中了6红球加1蓝球
二等奖是中了6个红球
三等奖是中了5红球加1蓝球
四等奖是中了4红球加1蓝球或5红球
五等奖是中了3个红球加一个蓝球或4个红球
六等奖是中了0到2个红色球加一个蓝色球
"""
import random
# 机选(这里作为中奖号码)
result = []
while True:
random_number01 = random.randint(1, 33)
if random_number01 in result:
continue
else:
result.append(random_number01)
if len(result) == 6:
break
result.append(random.randint(1, 16))
# 人选
i = 1
user_input = []
while True:
number02 = int(input("请输入第" + str(i) + "个红色号码:"))
if number02 in user_input:
print("号码已经存在")
continue
elif number02 < 1 or number02 > 33:
print("数字超过范围")
continue
else:
user_input.append(number02)
i += 1
if i == 7:
break
while True:
number03 = int(input("\n请输入蓝色号码:"))
if number03 < 1 or number03 > 16:
print("数字超过范围")
continue
else:
break
user_input.append(number03)
# 人选号码
print("\n您的号码:", user_input)
# 机选号码
print("中奖号码:", result)
# 计算中奖球数
red = 0
blue = 0
for index in range(6):
if user_input[index] in result[0:6]:
red += 1
if user_input[6] in result[6:]:
blue += 1
print("\n中奖红球数:", red, "中奖蓝球数:", blue) # 红球和蓝球的中奖数量
# 判断获奖结果
if red == 6 and blue == 1:
print("一等奖!")
elif red == 6 and blue == 0:
print("二等奖!")
elif red == 5 and blue == 1:
print("三等奖3000元!")
elif (red == 4 and blue == 1) or (red == 5 and blue == 0):
print("四等奖200元!")
elif (red == 3 and blue == 1) or (red == 4 and blue == 0):
print("五等奖10元!")
elif blue == 1 and (red == 0 or red == 1 or red == 2):
print("六等奖5元!")
else:
print("多谢惠顾!")