Python条件判断语句(if)未正常输出结果问题咨询
问题排查与修复
嘿,我来帮你揪出这段Python代码不输出预期结果的原因~
先看你写的代码里的核心问题:
- 你连续调用了两次
input()函数:第一次input("Enter a Word: ")只是弹出了输入提示,但没有把用户输入的内容保存到任何变量里,相当于这次输入完全被浪费了;紧接着你又写了original = input(),这时候程序会再次等待用户输入——如果用户在第一次输入后,第二次直接回车(没输入内容),original就会变成空字符串,触发else分支的"empty"输出,自然就看不到你想要的结果。
修复后的代码
把多余的那次input()调用去掉,把提示语直接放到赋值的input里,这样用户的输入会直接被存到original变量中:
print("Welcome to the Pig Latin Translator") original = input("Enter a Word: ") if len(original) > 0 and original.isalpha(): print(original) else: print("empty")
修复后的逻辑说明
现在用户只需要输入一次内容:
- 如果输入的是非空的纯字母字符串,就会触发
if分支,打印出输入的内容; - 如果输入为空(直接回车)或者包含非字母字符,就会触发
else分支,打印"empty"。
内容的提问来源于stack exchange,提问作者kirankumar M
相关产品推荐
相关产品推荐

