zoukankan      html  css  js  c++  java
  • 99乘法.金字塔,猜年龄升级版

    金字塔

    例如:打印如下所示金字塔:

    '''
                 # max_level=5
        *        # current_level=1,空格数=4,*号数=1
       ***       # current_level=2,空格数=3,*号数=3
      *****      # current_level=3,空格数=2,*号数=5
     *******     # current_level=4,空格数=1,*号数=7
    *********    # current_level=5,空格数=0,*号数=9
    
    # 数学表达式
    空格数 = max_level-current_level
    *号数 = 2*current_level-1
    '''
    
    解答:
    max_level=5
    for current_level in range(1,max_level+1):
        space num=max_level-current_level
        star num=2*current_level-1
        print(' '*space num,'*'*star num)
    

    九九乘法表

    例如:打印如下所示9*9乘法表:

    '''
    1*1=1 
    2*1=2 2*2=4 
    3*1=3 3*2=6 3*3=9 
    4*1=4 4*2=8 4*3=12 4*4=16 
    5*1=5 5*2=10 5*3=15 5*4=20 5*5=25 
    6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36 
    7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49 
    8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64 
    9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9=81 
    '''
    
    #解答:
    for i in range(1,10):
        for j in range(1,i+1):
            print(f'{i}*{j}={i*j}',end=' ')
            
        print( )
    

    猜年龄升级版:

    要求:

    1. 允许用户最多登陆三次,还不对,直接退出;
    2. 登陆后,允许用户猜年龄最多尝试3次,每尝试3次后,还没猜对,问其'"是否还想继续玩,想玩就按指示继续,不想玩就退出"'
    3. 用户年龄猜对,可以领奖品,可以领两次,每次最多领一个;
    4. 不允许用户猜年龄时捣乱,输入空格或者与年龄无关的。
    age =18 答案
    
    age_count = 0  # 游戏次数控制
    
    login_count = 0  # 登录次数控制
    
    # 奖品字典
    prize_dict = {
        0: '布娃娃',
        1: '变形金刚',
        2: '奥特曼',
        3: '<Python从入门到放弃>'
    }
    
    get_prize_list = dict()  # 记录奖品获取情况
    
    # 定义用户字典
    user_dict = {
        'nick': '123',
        'fanping': '123'
    }
    
    while login_count < 4:
    
        login_count += 1
    
        if login_count == 4:
            print('傻逼,三次机会都不够用!!!')
            break
    
        username = input('请输入你的用户名>>>').strip()
        pwd = input('请输入你的密码>>>').strip()
    
        if pwd != user_dict.get(username):
            print('账号密码错误')
            continue
    
        print(f'欢迎{username}来到猜年龄俱乐部!!!')
    
        # 核心代码
        while age_count < 3:
            inp_age = input('请输入你需要猜想的年龄>>>').strip()  # 与用户交互
    
            # 判断用户是否骚扰
            if not inp_age.isdigit():
                print('傻逼,你的年龄输错了')
                continue
    
            inp_age_int = int(inp_age)
    
            # 核心逻辑,判断年龄
            if inp_age_int == age:
                print('猜对了')
    
                print(prize_dict)  # 打印奖品
    
                # 获取两次奖品
                for i in range(2):
                    prize_choice = input('请输入你想要的奖品,如果不想要,则输入"n"退出!!!').strip()  # 与用户交互获取奖品
    
                    # 判断是否需要奖品
                    if prize_choice != 'n':
                        prize = prize_dict[int(prize_choice)]
                        print(f'恭喜你获得奖品: {prize}')
    
                        # 定义获取的奖品
                        if get_prize_list.get(prize):
                            get_prize_list[prize] += 1
                        else:
                            get_prize_list[prize] = 1
                    else:
                        break
    
                login_count = 4
                print(f'你已经获取奖励: {get_prize_list}')
                break
    
            elif inp_age_int < age:
                print('猜小了')
            else:
                print('猜大了')
    
            age_count += 1  # 成功玩一次游戏
    
            # 控制是否继续
            if age_count != 3:
                continue
    
            again_choice = input('是否继续游戏,继续请输入"Y"或"y",否则任意键直接退出.').strip()  # 交互是否再一次
    
            # 判断是否继续
            if again_choice == 'Y' or again_choice == 'y':
                age_count = 0
            else:
                login_count = 4
    
    
  • 相关阅读:
    AutoFac学习笔记
    AutoMapper学习笔记
    ROSLYN 查看C#方法执行次数
    log4net 动态创建文件名
    WPF可切换按钮,iOS风格
    咕咕咕
    贪吃的小J
    UK Day15
    UK Day15
    UK Day15
  • 原文地址:https://www.cnblogs.com/gongjingyun123--/p/10924759.html
Copyright © 2011-2022 走看看