Python:为什么' 0'在我的if语句需要括号呈现真?

时间:2017-10-08 06:10:13

标签: python python-3.x if-statement

我是Python和编码的新手。在询问之前,我试图查询我的问题......要么我看起来不够(我希望不是),要么不知道要搜索什么。

所以,我正试图从YouTube学习Python(请不要对我大喊大叫)而且我一直在模仿老师的代码,并且不了解教师的一部分if statement。

def helloWorld(myString):
    print(myString)
    myName = input("What is your name? ")
    myVar = input("Enter a number: ")
    if(myName == "Matthew" and myVar == 0):
        print("Matthew is great")
    elif(myName == "Bob"):
        print("Bob is ok")
    else:
        print("hello world")
helloWorld("Hello function world")
helloWorld("Hello 123 world")

当我在终端中运行时......

Hello function world What is your name? Matthew Enter a number: 0 hello world Hello 123 world What is your name? Matthew Enter a number: 1 hello world

我的问题是if(myName == "Matthew" and myVar == 0):声明。我确保在if语句中满足两个参数。但是,它正在输出hello world。有人可以向我解释为什么如果我在0附近放置括号,它会将if语句设为true并输出Matthew is great?一旦我从0取出括号,它就会呈现if语句true``false。希望我对我的问题清楚明了。提前谢谢。

1 个答案:

答案 0 :(得分:0)

像TerryA所说,替换

myVar = input("Enter a number: ")

myVar = int(input("Enter a number: "))

或者,替换

if(myName == "Matthew" and myVar == 0):

if(myName == "Matthew" and myVar == '0'):