• 路飞学城系列:第1章 Python基础语法入门-作业(1)【双色球选购-中文-自由发挥】


    # 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("33[1;31m请选择第[{0}]颗红色球:33[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("33[1;34m请选择第[{0}]颗蓝色球:33[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("
    您已选购的红球:{0}".format(selected_red_ball))
            print("您已选购的蓝球:{0}".format(selected_blue_ball))
    
    # 打印结尾语
    print("************** 选购结束,谢谢光临! **************")
    # 代码执行效果截图如下:



  • 相关阅读:
    重庆(四川)方言汇总(北方人到重庆可以先看看)
    将权限授予文件夹和程序集
    通过2009年12月5日PMP考试纪念一下
    在奥运开幕式上,日本代表队拿着太阳旗和五星红旗什么意思?大家讨论一下
    身份证号码
    Android学习笔记系列
    ActiveMQ学习:Hello ActiveMQ
    Android学习笔记(5):Hello Service
    Android学习笔记(4):Activity生命周期
    Android学习笔记(2):Hello world
  • 原文地址:https://www.cnblogs.com/lizhen416/p/13509652.html
Copyright © 2020-2023  润新知