python 生成双色球

"""
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)   # 打印结果

记:现在还没学到函数,今后可以分装可能看起来比较容易
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值