我真的很擅长这一点,并且一直试图解决这个问题。有一点Python34的问题。这是我的代码:
myName = input('What is your name? ')
myVar = input("Enter your age please! ")
if(myName == "Jerome" and myVar == 22):
print("Welcome back Pilot!")
print(myName, myVar)
elif(myName == "Steven"):
print("Steve is cool!")
print(myName, myVar)
else:
print("Hello there", myName)
print(myName, myVar)
当我输入 - 杰罗姆输入 22 进入进入控制台时,它仍然通过打印进入条件:
Hello there Jerome
Jerome 22
为什么会这样?我也尝试通过写这样的方式搞乱if语句:if(myName == "Jerome") and (myVar == 22):
并且我仍然得到相同的响应。
答案 0 :(得分:3)
在Python 3中,input()
function返回字符串,但您尝试将myVar
与整数进行比较。首先转换一个或另一个。您可以使用int()
function执行此操作:
myVar = int(input("Enter your age please! "))
if myName == "Jerome" and myVar == 22:
或使用:
myVar = input("Enter your age please! ")
if myName == "Jerome" and myVar == "22":
将用户输入转换为整数具有以下优势:您可以进行其他比较,例如小于或等等。
在这种情况下,您可能希望阅读有关正确错误处理的用户输入请求。请参阅Asking the user for input until they give a valid response。
答案 1 :(得分:1)
这是罪魁祸首
myVar = input("Enter your age please! ")
input
始终返回一个字符串
将其转换为int
,如
myVar = int(input("Enter your age please! "))
或强>
将您的if
条件更改为
if(myName == "Jerome" and myVar == "22"):
但这是一种较差的方法,好像你想用别人的年龄,那么它就会成为一个问题
答案 2 :(得分:0)
方法input()
返回一个字符串,这是一个单词或句子,但你需要使它成为整数,整数。要做到这一点,只需键入而不是input("Enter your age please")
,您需要输入int(input("Enter your age please"))
。这将把它变成一个整数。 希望这会有所帮助!