我有以下
if('y' == input("Enter y to continue")):
# do something
但无论我输入什么内容都无效?
答案 0 :(得分:3)
我无法在此重现:
>>> if('y' == input("Enter y to continue: ")):
... print("Yeah!")
...
Enter y to continue: y
Yeah!
>>>
但无论如何我会采取不同的方式:
answer = input("Enter y to continue: ")
if answer.lower().startswith("y"):
print("Yeah!")
还可以正确处理Y
,Yes!
,yes, please...
等。
答案 1 :(得分:3)
这是Windows上的已知错误,您可以通过执行print(repr(input("put y: "))
试试这个
input("put y:").strip().lower() == "y"
答案 2 :(得分:2)
在Windows 7 x64上的3.2.1上正常工作:
>>> if input("Enter y to continue") == 'y': print("ok")
Enter y to continuey
ok
(“continuey”是正确的,它只是“继续”+我的“y”输入。)
答案 3 :(得分:1)
我刚刚遇到过这个问题,这就是我解决它的方法(Python 3.4.1):
i = input ('Enter y to continue: ')
validity = i == 'y'
if validity == True:
#do something
通过使用布尔类型来识别输入是否等于y,你可以避免这个错误,它也非常简单。
答案 4 :(得分:0)
使用if input("Enter y to continue").lower().startswith('y'):
。