"""
1、“双色球”每注投注号码由6个红色球号码和1个蓝色球号码组成。
2、 红色球号码从1--33中选择;蓝色球号码从1--16中选择。
3、 选民手动输入号码
4、 选民可以复选或者依次选多张
5、 打印双色球显示结果,红球按顺序排序
6、 打印选中结果
"""
import random
import time
# =============================== 选民选票 ===============================
# 存储选民选择的所有票
your_choice = []
print('欢迎进入双色球')
while True:
# 存储选民一票选票信息
your_balls = {'红球': [], '蓝球': [], '注数': 1}
# 存储选民红球
choice = 1
while True:
your_red = int(input('请输入你选择的第%d个红球数字:' % choice).strip())
if your_red in your_balls['红球']:
print('已经输入过%d,请重新输入' % your_red)
continue
else:
your_balls['红球'].append(your_red)
choice += 1
if choice >= 7:
break
# 存储选民蓝球
your_bule = int(input('请输入你选择的蓝球数字:'))
your_balls['蓝球'].append(your_bule)
# 存储选民注数
your_numbers = int(input('请输入你选择加注数:'))
your_balls['注数'] = your_numbers
# 存储选民一张票到所有票列表
your_choice.append(your_balls)
print(your_balls)
# 是否继续选票
flag = input('是否继续选择?(y/n):')
if flag == 'n':
break # 退出选票
print('\033[1;33;44m', end='')
print('你的选择的双色球:', end='')
print('\033[0m')
print(your_choice)
# =============================== 系统双色球 ===============================
double_balls = {'红球': [], '蓝球': []} # 系统自动生成的票
reds = [i for i in range(1, 34)] # 所有红球
blues = [j for j in range(1, 17)] # 所有蓝球
# 生成双色球红球号码
for i in range(6):
red_ball = random.choice(reds)
double_balls['红球'].append(red_ball)
reds.remove(red_ball)
# 对双色球中红球升序排序
for n in range(5):
for j in range(5-n):
if double_balls['红球'][j] > double_balls['红球'][j+1]:
double_balls['红球'][j], double_balls['红球'][j+1] = double_balls['红球'][j+1], double_balls['红球'][j]
# 生成双色球蓝球号码
blue_ball = random.choice(blues)
double_balls['蓝球'].append(blue_ball)
blues.remove(blue_ball)
time.sleep(3) # 延时显示
print('\033[1;33;41m', end='')
print('双色球结果:', end='')
print('\033[0m')
print(double_balls)
# =============================== 对比选票与系统生成票 ===============================
# 存储选民选中球
your_win = []
# 获取每一张选票
for your_one in your_choice:
# 存储选民选中票的信息
win_balls = {'红球': [], '蓝球': [], '注数': 1}
# 存储选民选中红球
for red in your_one['红球']:
if red in double_balls['红球']:
win_balls['红球'].append(red)
# 存储选民选中蓝球
if double_balls['蓝球'] == your_one['蓝球']:
win_balls['蓝球'] = your_one['蓝球']
# 存储选民选中注数
win_balls['注数'] = your_one['注数']
# 添加到选民选中票列表
your_win.append(win_balls)
time.sleep(3) # 延时显示
print('\033[1;33;45m', end='')
print('最后选中球:', end='')
print('\033[0m')
print(your_win) # 打印结果
记:现在还没学到函数,今后可以分装可能看起来比较容易