python练习双色球

作业:双色球选购
1 双色球(假设一共八个球,6个红球,球号1-32、2个蓝球,球号1-16)
2 确保用户不能重复选择,不能超出范围
3 用户输入有误时有相应的错误提示
4 最后展示用户选择的双色球的号码

我自己的程序:篮球只有一个


def selsct_ball():
    print("欢迎选择双色球!")
    red_ball = []
    bule_ball = []
    while True:
        num1 = input('请输入红色球号码>> ').strip()
        if num1.isdigit() and int(num1) <= 32 and int(num1) != 0:
            if int(num1) not in red_ball:
                red_ball.append(int(num1))
                if len(red_ball) == 6:
                    while True:
                        num2 = input("请输入蓝色球号码>> ").strip()
                        if num2.isdigit() and int(num2) <= 16 and int(num2) != 0:
                            bule_ball.append(int(num2))
                            if len(bule_ball) == 1:
                                print("红色球号码:%s \n蓝色球号码:%s" % (red_ball[:], bule_ball[:]))
                                return 0
                        else:
                            print("请重新输入")
                            continue
                elif len(red_ball) < 6:
                    continue
            else:
                print("号码已存在,请重新输入!")
                continue
        else:
            print("请重新输入")
            continue
 --------------------------------------------------------------
欢迎选择双色球!
请输入红色球号码>> 1
请输入红色球号码>> 23
请输入红色球号码>> 4
请输入红色球号码>> 5
请输入红色球号码>> 6
请输入红色球号码>> 7
请输入蓝色球号码>> 8
红色球号码:[1, 23, 4, 5, 6, 7] 
蓝色球号码:[8]

博主的代码:

# 没有卡输入的内容为空时的情况
print("Welcome to 小猿圈 lottery station")

red_ball_list = []  # 用于存储选中的红球号
blue_ball_list = []  # 用于存储选中的蓝球号
i = 1  # 提示用户输入红球号时候带编号 [1] [2]
j = 1  # 提示用户输入蓝球号时候带编号 [1] [2]

# 用户一直在选 所以采用死循环
while True:
    # 判断红球号是否已经有效选择6次 如果是则开始选篮球号
    if len(red_ball_list) == 6:
        # 篮球号选择有效的2次 则退出循环
        if len(blue_ball_list) == 2:
            break

        blue_ball_str = input("\033[34m["+str(j)+"]select blue ball:"+"\033[0m")
        blue_ball_num = 0  # 初始化值
        # 判断是否输入的内容是否为空或者是输入的是字母
        if blue_ball_str.isdigit():
            blue_ball_num = int(blue_ball_str)
            if 1 <= blue_ball_num <= 16:
                if blue_ball_num not in blue_ball_list:
                    blue_ball_list.append(blue_ball_num)
                    j += 1
                else:
                    print(f"number {blue_ball_num} is already exist in blue ball list")
            else:
                print("only can select n between 1-16")
        else:
            print("only can input num")
    else:
        red_ball_str = input("\033[31m[" + str(i) + "]select red ball" + "\033[0m:")
        if red_ball_str.isdigit():
            red_ball_num = int(red_ball_str)
            if 1 <= red_ball_num <= 32:
                if red_ball_num not in red_ball_list:
                    red_ball_list.append(red_ball_num)
                    i += 1
                else:
                    print(f"number {red_ball_num} is already exist in red ball list")
            else:
                print("only can select n between 1-32")
        else:
            print("only can input num")
print()
print()
print("Red ball:", red_ball_list)
print("Blue ball:", blue_ball_list)
print("Good Luck.")
————————————————
版权声明:本文为CSDN博主「Amo Xiang」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/xw1680/article/details/103546693
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值