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

Python条件语句问题求助:输入No未执行预期分支逻辑

问题分析与修正

你的代码核心问题是完全没用到用户输入的answer变量,反而用了固定值的a做判断,导致不管用户输入什么,都会执行OK, lets play...的分支。另外else里的b == "No"只是个无效的比较操作,起不到任何作用。

修正后的代码

name = input("What is your name?\n")
age = input("How old are you?\n")
country = input("Where are you from?\n")
print(f"Hi {name} I see you are {age} and you were born in {country}")

answer = input("Do you want to play a game?\n")

if answer == "Yes":
    print("awesome")
    print("OK, lets play...")
else:
    print("Thank you for your time, goodbye")

关键修改点

  • 删掉了没用的a和b变量,直接判断用户输入的answer值
  • 把print("awesome")移到了Yes的分支里,这样只有用户同意玩游戏时才会打印
  • 去掉了else里无效的b == "No"语句,直接执行告别逻辑
  • 用了f-string格式化输出(f"Hi {name}..."),比字符串拼接更简洁易读

现在测试输入No,程序会输出:

What is your name?
Paul
How old are you?
49
Where are you from?
UK
Hi Paul I see you are 49 and you were born in UK
Do you want to play a game?
No
Thank you for your time, goodbye

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 22:40:40