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
相关产品推荐
相关产品推荐

