You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python技术需求:实现print及第三个if分支后重新执行输入命令

问题修正与实现

原代码存在逻辑错误,无法实现输入非yes/no时重新询问的需求,以下是修正方案:

原代码问题点

  • 第三个条件判断逻辑错误:rich != "yes" or "no" 等价于 (rich != "yes") or True,永远为真,正确逻辑应为判断输入是否不在("yes", "no")范围内
  • 错误调用rich():rich是字符串变量,不是函数,无法通过这种方式重新获取输入

修正后的代码

while True:
    rich = input("Are you rich?(yes/no): ")
    if rich == "yes":
        print("damn gg")
        break
    elif rich == "no":
        print("poor bastard")
        break
    else:
        print("it's a yes or no question dumbass")
        # 不退出循环,自动回到输入步骤重新获取用户输入

代码说明

  • 用while True构建无限循环,实现输入错误时重复执行输入逻辑的需求
  • 将独立的if改为if-elif-else结构,避免冗余判断
  • 输入yes或no时执行对应打印并退出循环;输入其他内容时打印提示,循环自动回到输入语句,重新获取用户输入,完全匹配需求中的两个要求

内容的提问来源于stack exchange,提问作者Baka Boi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 15:01:11