我是 Python 的新手,我正在看 CS50P 讲座,但没有掌握传递参数的工作原理。
比如为什么我不能写is_even(x)而不是is_even(n)。另外,布尔值如何返回到我的主要功能?我知道下面的代码有效,我只是不明白信息如何从一个函数移回另一个函数。
定义a的时候设置的参数,理解的话其实就是一个占位符。以你的代码行为例。
def main():
x = int(input("what's x?"))
if is_even(x):
print('EVEN NUMBER')
else:
print('ODD NUMBER')
def is_even(n):
if n % 2 == 0:
return True
else:
return false
main()
使用您的代码,当您在定义函数
is_even
时在括号内键入 n 时,n 实际上是一个占位符。因此,稍后当您执行 is_even
时,如 if is_even(x):
所示,发生的事情是它采用所示的变量 x 并将其替换为您放置占位符 n 的任何位置。希望这可以澄清您的问题。 Barmar 和 kcw78 是正确的,但我将其置于更易于理解的格式中。由于我的声誉,我无法对此发表评论。