双色球选购
1 双色球(假设一共八个球,6个红球,球号1-32、2个蓝球,球号1-16)
2 确保用户不能重复选择,不能超出范围
3 用户输入有误时有相应的错误提示
4 最后展示用户选择的双色球的号码
升级需求:
1 一个while循环
#!/usr/bin/env python # -*- coding: utf-8 -*-
balls = [('red', [i for i in range(1, 33)]), ('blue', [i for i in range(1, 17)])]
count = 1
red_ball = [] # 定义一个空列表用来存放选择的红球
blue_ball = [] # 定义一个空列表用来存放选择的蓝色球
while count < 9: # 总共取8个球
if count < 7: # 取6次红球
num = input("请输入您要选择的第%s个红球号码,1-32的整数" % count).strip() # 让玩家选择红球号码
if not num.isdigit():
print("请输入整数")
else:
num = int(num)
if num not in range(1,33):
print("只接受1-32的整数")
elif num in red_ball: # 红球已被选择
print("该号码已被选择请重新选择")
else: # 红球还未选
red_ball.append(balls[0][1].pop(balls[0][1].index(num))) # 将该红球弹出,放入red_ball列表
count += 1 # 选好球后计数器+1
else:
num = input("请输入您要选择的第%d个蓝色球号码,1-16的整数" % (int(count) - 6)).strip()
if not num.isdigit():
print("请输整数'")
else:
num = int(num)
if num not in range(1,17):
print("只接受1-16的整数")
elif num in blue_ball: # 蓝球已被选择
print("该号码已被选择请重新选择")
else: # 篮球未被选择
blue_ball.append(balls[1][1].pop(balls[1][1].index(num))) # 将蓝色球让如blue_ball列表
count += 1 # 选好球后计数器加一
msg = """
您选择的红球是%s
---------------
您选择的蓝球是%s
---------------
祝您好运
""" % (red_ball, blue_ball)
print(msg)
运行效果: