Python while循环练习题:添加计数器实现多次输入后输出指定提示
代码修改方案
核心修改点
- 新增计数器变量记录用户输入
right的累计次数,初始值为0 - 修正原代码的循环条件bug:原写法
n == "right" or n == "Right"逻辑错误,只要输入不是right就会判定"Right"为真,导致循环永远无法退出,改为n.strip().lower() == "right"兼容大小写和首尾空格输入 - 根据计数器数值切换循环内的提示内容:
- 累计输入2次
right:显示哭脸 - 累计输入超过2次
right:显示掀桌表情
- 累计输入2次
可运行修改后代码
# 初始化right输入计数器 right_count = 0 n = input("You are in the Lost Forest\n****************\n****************\n :)\n****************\n****************\nGo left or right? ") # 兼容大小写判断,修正原循环条件bug while n.strip().lower() == "right": right_count += 1 # 根据计数器判断输出内容 if right_count == 1: # 对应第二次输入right,显示哭脸 n = input("You are in the Lost Forest\n****************\n****************\n T T\n****************\n****************\nGo left or right? ") else: # 对应第三次及以上输入right,显示掀桌表情 n = input("You are in the Lost Forest\n****************\n****** ***\n (╯°□°)╯︵ ┻━┻\n****************\n****************\nGo left or right? ") print("\nYou got out of the Lost Forest!\n\o/")
运行逻辑说明
- 首次输入提示默认显示笑脸,此时还没有计数
- 用户第一次输入
right后计数器变为1,弹出的下一次输入提示显示哭脸,符合累计输入2次right触发哭脸的要求 - 用户第二次及之后再输入
right,计数器≥2,统一显示掀桌表情,符合超过两次触发掀桌的要求 - 只要输入不是
right(不区分大小写)就退出循环,输出逃出森林的提示
内容的提问来源于stack exchange,提问作者play_something_good
相关产品推荐
相关产品推荐

