Python 我不知道为什么我的if语句不起作用

Python 我不知道为什么我的if语句不起作用,python,python-3.x,if-statement,Python,Python 3.x,If Statement,这是我的代码: def main(subject): subject = input("Which subject do you want to learn?") if subject == English: print("I glad to hear that!") 当我在Linux终端上运行python3“File name.py”时,什么也没发生 我试图定义“English”,但编译器中出现了语法错误 我的代码中是否缺少正确运行if语句的内容 def ma

这是我的代码:

def main(subject):
    subject = input("Which subject do you want to learn?")
    if subject == English:
        print("I glad to hear that!")
当我在Linux终端上运行python3“File name.py”时,什么也没发生

我试图定义“English”,但编译器中出现了语法错误

我的代码中是否缺少正确运行if语句的内容

def main():            
    subject = input("Which subject do you want to learn?")
        if subject == "English":
            print("I glad to hear that!")

if __name__ == "__main__":
    main()
更改脚本并重新运行。
您没有调用该函数。

您需要调用该函数

你需要在
英语
中加引号

def main():
    subject = input("Which subject do you want to learn?")
    if subject == "English":
        print("I glad to hear that!")

if __name__ == "__main__":
    main()

我已经删除了未使用的
suject
参数。

我怀疑什么也没有发生,因为您的代码定义了一个方法,并且从未调用它

你试过这样做吗

def main():
主题=输入(“你想学习哪门学科?”)
如果主题==“英语”:
打印(“听到这个我很高兴!”)
如果名称=“\uuuuu main\uuuuuuuu”:
main()
我改变了什么:

  • 当我们运行脚本时,实际调用
    main
    方法
  • 删除未使用的
    suject
    参数
  • 在“英语”中使用引号

在英语周围加引号,如:
“English”
“我试图定义“English”你能演示一下吗?什么也没发生。@Austin def main(subject,English):在第1行,
suject
参数是什么?在任何地方都不会使用它。在
中隐藏对函数的调用如果uuuu name_uuu==“uuuuu main_uuu”:
很重要,因为如果有人导入此模块,我们实际上不想运行代码。是的,这是真的。谢谢更新。谢谢!它起作用了。但是()在def main中的用途是什么?我什么时候需要定义其中的某些内容?为什么在最后一行有一个main(),它对代码做了什么?好吧,您也可以在其中传递subject,并使用参数调用函数。考虑到这里的用例,您只需要从用户那里获取一个主题并检查它是否是英语。因此,您不向函数本身传递任何内容,但执行取决于用户输入,因此函数中的参数为空。添加名称时,在其他脚本中导入此模块时,main()函数将不会执行。请接受答案,如果它有效,如果你理解解释。链接不起作用。非常感谢。但是我对这段代码有一些疑问,参数在()中的用途是什么,何时需要在其中添加对象?如果name==“main”用于什么?在最后一行中,main()用于什么?在带有
def
的行中,可以在括号之间指定参数列表。如果您希望您的方法接受参数,那就是您给它们命名的地方。一旦定义了
def函数(参数):…
就定义了一个方法,但仍然需要调用它。这就是最后一行的
main()
所做的。
if\uuuuuu name\uuuu==“\uuuuu main\uuuuu”
是一个条件,只有当文件像您一样作为主脚本运行时才为真,但如果有人导入您的代码,则为假。我们只想在它作为主脚本运行时运行。