Python 为什么忽略第一个if条件语句而执行最后一个else?
当我输入John和0时,“johnisgreat”语句不会执行。我不明白为什么。Python 为什么忽略第一个if条件语句而执行最后一个else?,python,Python,当我输入John和0时,“johnisgreat”语句不会执行。我不明白为什么。 我知道这个问题可能很简单,但我检查了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 == "Bo
我知道这个问题可能很简单,但我检查了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")
0
和“0”
是两个不同的值0==0
为真<代码>0==“0”为false
input
总是返回一个str
,因此输入0
将myVar
设置为“0”
,而不是0
if myName == "John" and myVar == "0":
myVar
是str
类型非int
类型。您应该修复
myVar=int(输入(“输入一个数字”)
这两个变量都是str
值;您正在将其中一个与int
进行比较,因此该值始终为false。那么python中的所有输入都是字符串?是的。所有输入都是字符串。如果您想将输入读取为整数,则必须执行转换:myvar=int(输入(“输入一个数字”)
@JuliaK谢谢,它成功了;)