练习题2-双色球

双色球选购
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)

运行效果:

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值