2301_80399510 2023-11-08 23:43 采纳率: 50%
浏览 12
已结题

if语句实操(需流程图)

img


求问这个怎么写,应该挺简单的,但是我不会,有谁帮帮我吗?感谢各位啦

  • 写回答

2条回答 默认 最新

  • 梦幻精灵_cq 2023-11-09 07:55
    关注
    • 手写流程图

      img


    • 代码运行效果截屏图片

      img


      img


    python代码

    '''
        本案例的猜数字游戏是针对1-100以内的整数数字进行猜测,设定猜测的数字可通过input()函数接收,在案例描述中规定玩家只能有5次机会进行猜数,因此可使用for循环与rang()函数控制循环次数,在进行猜数过程中还需要对玩家输入的内容进行判断,可以使用if-elif 语句判断,使用isdigi()方法判断玩家输入的内容是否是数字;使用比较运算符判断玩家输入的数字是否符合在规定范围内;判断玩家输入的数字是否与设定猜测的数字相等,如果相等输出“恭喜你用了x次猜对了”,当输入次数达到5次时,则输出“很遗憾,x次机会已用尽,游戏结束,答案为y”。
        根据以 上分析可整理出以下实现思路:'''
    
    #(1)使用input()函数接收用户设定猜数的数值。
    from random import randint
    target = randint(1, 100) # 我认为(1)题目不妥,目标数值怎么可以从键盘输入哩。我这里改为机器随机出数(1~00)。
    
    #(2)使用for循环控制玩家猜测的次数。
    for i in range(1, 6):
        
        while True:
            #(3)使用input()函数接收玩家输入的数据。
            guess = input(f"\033[2J\n{' 猜数字游戏 ':=^35}\n\n\n{' (输入1~100的整数) ':-^35}\n\n{'您猜?_':>16}").strip() 
    
            #(5)判断输入的数据是否在指定范围内。
            #(4)判断输入数据的数据是否为数字。
            if not guess.isdigit():
                input(f"\n{' 请输入数字!':~^34}")
            elif not 1 <= int(guess) <= 100:
                input(f"\n{' 输入超出范围!':~^33}")
    
            else:
                guess = int(guess)
                break # 输入无误,退出while循环。
    
        '''(6)判断玩家输入的数据是否与设定猜测的数字-致,如果-致使用break语句跳出循环。
        (7)如果玩家输入的数据与设定猜测的数字不一-致,给出相应提示。'''
        if guess == target:
            print(f"\033[2J\n{' 猜数字游戏 ':=^35}\n\n\n{f' 恭喜你用了{i}次猜对了!':~^30}\n\n")
            exit() # 退出程序。
        elif guess < target:
            input(f"\n{f' 很遗憾,您猜小了!':~^31}")
        elif guess > target:
            input(f"\n{f' 很遗憾,您猜大了!':~^31}")
    
    #(8)当玩家猜测5次后,仍没有猜对,结束程序。
    print(f"\033[2J\n{' 猜数字游戏 ':=^35}\n\n\n{' 很遗憾,5次机会已用尽!':^28}\n\n{f' 游戏结束,答案为{target}。':~^31}\n\n")
    
    


      本回答内容已整理成学习笔记,请点击蓝色文字跳转翻阅。


    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 11月21日
  • 已采纳回答 11月13日
  • 创建了问题 11月8日