为什么第一个if条件语句被忽略而最后一个else执行?

时间:2019-09-27 16:35:28

标签: python

当我输入John和0时,将不会执行“ John is great”语句。我不明白为什么。
我知道这个问题可能真的很简单,但是我检查了Java中的代码,并且工作正常。

print("Hello world")
myName = input("What is your name?\n")
myVar = input("Enter a number: ") 

if(myName == "John" and myVar == 0):
    print("John is great")
elif(myName == "Bob"):
    print("You are ok")
else:
    print("Hello world")

2 个答案:

答案 0 :(得分:3)

myVarstr类型。 不是 int类型。
您应该修复myVar = int(input("Enter a number: "))

答案 1 :(得分:0)

0"0"是两个不同的值。 0 == 0是真实的; 0 == "0"是错误的。

input 总是返回str,因此输入0会将myVar设置为"0",而不是0

if myName == "John" and myVar == "0":