这个简单的if和声明有问题

时间:2018-03-15 06:25:17

标签: python python-3.x

print("Hello World")
myName = input("Whats your name?")
myVar = input("Enter a number: ")
print(myName)
print(myVar)

if(myName == "Ben" and myVar == 5):
    print("You are cool")

elif(myName == "Max"):
    print("You are not cool")

else:
    print("Nice to meet you")

抱歉,我知道我可能只是在看这个错误,但我似乎无法弄明白。我是Python的新手,正在观看YouTube教程,它帮助我创建了上述程序。

我希望通过输入“Ben”输入1然后输入“5”作为第二个输入,它将通过打印“你很酷”返回。

然而,每当我尝试它时,它都会返回“很高兴认识你”,如果没有if语句的前面部分返回false,我认为这并不意味着返回。

我感谢任何帮助,我只想在继续前进之前对此有充分的了解。

2 个答案:

答案 0 :(得分:2)

您将转到else部分,因为myVar是一个字符串,您将它与int进行比较。

使用

myVar = int(input("Enter a number: "))  #Convert input to int. 

myVar =="5"

答案 1 :(得分:1)

在python中,当我们通过 input()函数输入时,默认情况下它是一个字符串。你可以通过 -

检查它的类型
print(type(VARIABLE))

这就是为什么您的程序无法正常工作,因为第7行的情况。您正在将字符串变量与 int 进行比较。这是修改过的程序。

print("Hello World")
myName = input("Whats your name?")
myVar = int(input("Enter a number: "))
print(myName)
print(myVar)

if(myName == "Ben" and myVar == 5):
    print("You are cool")
elif(myName == "Max"):
    print("You are not cool")
else:
    print("Nice to meet you")

此外,既然您是python的新手,请尝试在python中了解有关数据类型的更多信息。很少有链接link1link2link3有助于理解python中的数据类型。