# coding: utf-8 """ 作业:双色球选购 1 双色球(假设一共八个球,6个红球,球号1-32、2个蓝球,球号1-16) 2 确保用户不能重复选择,不能超出范围 3 用户输入有误时有相应的错误提示 4 最后展示用户选择的双色球的号码 升级需求: 1 一个while循环 思路: # 定义变量,存放已选购的双色球 # 选购红球 # 选购蓝球 # 选购完成,打印 """ # 打印欢迎语 print("************** 欢迎进入 牛魔王 双色球商店 ********") # 已选购的红色球 selected_red_ball = [] # 已选购的蓝色球 selected_blue_ball = [] # 双色球选购完成状态,True为选购完成,False为选购未完成 selected_status = False # 通过while循环 + if elif,完成双色球选购逻辑 while not selected_status: # 已选购红球数量 selected_red_ball_len = len(selected_red_ball) # 已选购蓝球数量 selected_blue_ball_len = len(selected_blue_ball) # 选购红球 if selected_red_ball_len < 6: # 接收用户选购的红球号码 user_select_ball = input("\033[1;31m请选择第[{0}]颗红色球:\033[0m".format(selected_red_ball_len + 1)) # 判断球号是否为数字,如果是数字,则将user_select_ball转换为int类型 if user_select_ball.isdigit(): user_select_ball = int(user_select_ball) # 判断红球球号是否在1-32之间 if user_select_ball < 1 or user_select_ball > 32: print("红球球号必须是1-32之间的数字") continue # 球号不可重复选择 elif user_select_ball in selected_red_ball: print("{0}号球已经被选购过了".format(user_select_ball)) continue # 满足选购条件,把球号添加到已选购红球列表 else: selected_red_ball.append(user_select_ball) continue else: print("红球球号必须是1-32之间的数字") continue # 选购蓝球 elif selected_blue_ball_len < 2: # 接收用户选购的号码 user_select_ball = input("\033[1;34m请选择第[{0}]颗蓝色球:\033[0m".format(selected_blue_ball_len + 1)) # 判断球号是否为数字,如果是数字,则将user_select_ball转换为int类型 if user_select_ball.isdigit(): user_select_ball = int(user_select_ball) # 判断蓝球球号是否在1-16之间 if user_select_ball < 1 or user_select_ball > 16: print("蓝球球号必须是1-16之间的数字") continue # 球号不可重复选择 elif user_select_ball in selected_blue_ball: print("{0}号球已经被选购过了".format(user_select_ball)) continue # 满足选购条件,把球号添加到已选购蓝球列表 else: selected_blue_ball.append(user_select_ball) continue else: print("蓝球球号必须是1-16之间的数字") continue # 选购完成,打印 # 当红色球已选购6个,并且蓝色球已选购2个时,更新selected_status为True,并且打印展示 elif selected_red_ball_len == 6 and selected_blue_ball_len == 2: selected_status = True print("\n您已选购的红球:{0}".format(selected_red_ball)) print("您已选购的蓝球:{0}".format(selected_blue_ball)) # 打印结尾语 print("************** 选购结束,谢谢光临! **************")
# 代码执行效果截图如下:
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步