我对Python比较陌生,我看了CS50P的讲座,不了解传递参数是如何工作的。
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(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实际上是一个占位符。之后,当你执行if is_even(x):
中所示的is_even
时,发生的事情是,它将变量x替换为你放置占位符n的地方,希望这能澄清你的问题。Barmar和kcw78是正确的,但我把它放在一个更容易理解的格式。由于我的名声,我不能对此发表评论。