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

如何在Python3中用if和else区分yes/no输入并输出对应内容

修正后的Python代码及问题说明

完整可运行代码

# 先获取用户名(原代码用到了name变量,需先收集输入)
name = input("Please enter your name: ")
# 获取用户的yes/no回答
answer = input("Do you like it? Yes/No ")

# 统一转成小写,兼容不同大小写的输入
if answer.lower() == "yes":
    print(f"That's great!\nThank You {name}.")
elif answer.lower() == "no":
    print("Sorry to hear that\nPerhaps we could use other names?")
else:
    print("Please enter 'yes' or 'no' to answer.")

原代码存在的问题

  • 变量name未定义:原代码直接使用name但未添加输入语句,需先获取用户名
  • 运算符使用错误:判断相等要用==,原代码误用了赋值运算符=
  • 字符串未加引号:yes和no是字符串字面量,必须用引号包裹,否则会被当作未定义变量
  • 语句结尾缺少冒号:if/elif/else语句结尾必须加:,用于标记代码块的起始
  • 缩进混乱:if和分支内的代码需要统一缩进(通常为4个空格),原代码缩进不符合Python语法规范
  • else语法错误:else不能直接跟条件,需要多分支判断时要用elif,else用于处理剩余所有情况
  • 字符串格式错误:Thats应改为That's`,避免单引号冲突
  • 未兼容大小写:用户可能输入Yes/NO等格式,转成小写后判断更严谨

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 06:12:36