gpt4 book ai didi

python - 函数如果只接受一个输入

转载 作者:行者123 更新时间:2023-11-28 19:56:52 25 4
gpt4 key购买 nike

我的代码在这里:http://pastebin.com/bK9SR031 .我在 Codecademy 上做 PygLatin 练习时被冲昏了头脑,所以大部分都是……初学者。

抱歉,它真的很长。问题是,当 [Y/N] 问题出现时,无论我输入什么,它的行为都好像我输入了"is"。

相关摘录之一:

def TryAgain():
repeat = raw_input("\nStart over?[Y/N] ").lower()
if repeat == "y" or "yes" :
print "OK.\n"
PygLatin()
elif repeat == "n" or "no" :
raw_input("\nPress ENTER to exit the English to Pig Latin Translator.")
sys.exit()
else:
TryAgain()

无论我输入什么,它都会打印“OK”。然后再次启动 PygLatin() 函数。

最佳答案

第一个 if 语句中的条件:

 if repeat == "y" or "yes":
print "OK.\n"
PygLatin()

始终评估为 True,无论 repeat 的值如何。这是因为 "Yes" 不是空字符串(它的 bool 值为 True),所以 or 总是导致 True 。一种修复方法是:

if repeat == "y" or repeat == "yes":
print "OK.\n"
PygLatin()

另一个(正如下面提到的 sateesh)是:

if repeat in ("y","yes"):
print "OK.\n"
PygLatin()

您还应该相应地更改 else 条件

关于python - 函数如果只接受一个输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17129821/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com