• Python猜年龄


    题目:Python实现猜年龄

     

    步骤一:实现最简单的猜年龄

    # 事先定义
    dark_knight_age = 28
    user_age = input('Please guess my age:')
    user_age = int(user_age)    # 将用户输入的内容强转为整型
                                # 因为input接收的值都是字符串,
                                # 字符串不能与整型进行比较,所以要强转为整型
    
    # 判断
    if user_age == dark_knight_age: # 当用户输入的年龄与事先定义的年龄相等时。
        print('You got it!')
    elif user_age > dark_knight_age:# 当用户输入的年龄比事先定义的年龄要大时。
        print('Try smaller')
    else:
        print('Try bigger') # 当用户输入的年龄比事先定义的年龄要小时。
    

    步骤二:实现循环猜年龄

    # 事先定义
    dark_knight_age = 28
    while True:
        user_age = input('Please guess my age:')
        user_age = int(user_age)    # 将用户输入的内容强转为整型
                                    # 因为input接收的值都是字符串,
                                    # 字符串不能与整型进行比较,所以要强转为整型
    
        # 判断
        if user_age == dark_knight_age: # 当用户输入的年龄与事先定义的年龄相等时。
            print('You got it!')
            break
        elif user_age > dark_knight_age:# 当用户输入的年龄比事先定义的年龄要大时。
            print('Try smaller')
        else:
            print('Try bigger') # 当用户输入的年龄比事先定义的年龄要小时。
    

    步骤三:解决程序中出现的BUG

    1、去除用户输入的字符串左右两边的空格

    2、解决用户输入的值为空

    3、解决用户输入的值为其它字符串

    # 事先定义
    dark_knight_age = 28
    while True:
        user_age = input('Please guess my age:').strip() # 去除字符串两边的空格
    
        # 当用户输入的内容为数字字符串时
        if user_age.isdigit():
            user_age = int(user_age)    # 将用户输入的数字字符串转换为整型后再进行以下判断
    
            # 判断
            if user_age == dark_knight_age: # 当用户输入的年龄与事先定义的年龄相等时,退出循环。
                print('You got it!')
                break
            elif user_age > dark_knight_age:# 当用户输入的年龄比事先定义的年龄要大时。
                print('Try smaller')
            else:
                print('Try bigger') # 当用户输入的年龄比事先定义的年龄要小时。
    
    
        # 当用户输入的内容为其它内容或None时,让其重新输入。
        else:
            print('Please try again!') 
    

      

    步骤四:扩展猜年龄

    1、当用户猜年龄的猜错次数超过3次时退出程序。

    2、每猜错一次便告之用户还有几次机会。

    3、当用户输入为空时,不限次数让用户继续输入。

    # 事先定义
    count = 1
    dark_knight_age = 28
    while True:
        if count == 4: # 用户在猜错情况下的次数超过了3次退出循环。
            print('Too many times')
            break
    
        user_age = input('Please guess my age:').strip() # 去除字符串两边的空格
    
    
        # 当用户输入的值不为空时。
        if user_age:
            if user_age.isdigit():      # 当用户输入的内容为数字字符串时
                user_age = int(user_age)    # 将用户输入的数字字符串转换为整型后再进行以下判断
    
                # 判断
                if user_age == dark_knight_age: # 当用户输入的年龄与事先定义的年龄相等时,退出循环。
                    print('You got it!')
                    break
                else:
                    if user_age > dark_knight_age:# 当用户输入的年龄比事先定义的年龄要大时。
                        print('Try smaller')
    
                    elif user_age < dark_knight_age:
                        print('Try bigger') # 当用户输入的年龄比事先定义的年龄要小时。
    
                    print('You have %s chance' % (3 - count)) # 告诉还有几次机会。
    
        # 当用户输入的内容为其它内容或None时,让其重新输入。
            else:
                print('Please try again!')
                print('You have %s chance' % (3 - count))  # 告诉还有几次机会。
                
        # 当用户输入的值为空时
        else:
            print('You enter blank, please re-enter!')
            continue # 此时跳出本次循环,继续执行以下循环
    
        count += 1 # 每次循环都次数都进行加1操作
    

      

      

  • 相关阅读:
    Objective-C 数据集合
    iOS PresentViewControlle后,直接返回根视图
    NSMutableString 常用操作
    NSString 的常用操作
    iOS 获取网络状态
    C#属性封装
    C#类的一些概念
    ref和out 传递参数(C#)
    C#字符串的恒定性
    C#方法的重载和方法的可变参数
  • 原文地址:https://www.cnblogs.com/fyknight/p/7966816.html
Copyright © 2020-2023  润新知