这是我的代码
def main():
getNumber()
recursive(x)
def getNumber():
x = int(input("Enter a number for 'x': "))
return x
def recursive(x):
print (x)
main()
我们说我输入的数字是' x'在getNumber函数中。相同的数字不会打印在递归函数上。有什么问题?
之后,我需要制作一个递归乘法函数,但这将是另一天。有人可以帮忙吗?
答案 0 :(得分:2)
x
是getNumber
内的局部变量,因此当您致电recursive(x)
时,它不知道x
是什么。
相反,
x = getNumber()
然后将其传递给或
recursive(getNumber())
答案 1 :(得分:0)
将以下内容添加到代码
x = getNumber()
答案 2 :(得分:0)
您需要将函数设置为等于变量以捕获return语句:
def main():
x = getNumber()
recursive(x)
getNumber()
只需允许main()
方法在完成后访问该变量。您可以正确地“捕获”该变量并使用它。
可以把它想象成文本“getNumber()”被替换为你要返回的变量。这有点澄清吗?
答案 3 :(得分:0)
这会有效!!
def main():
getNumber()
recursive(x)
def getNumber():
global x
x = int(input("Enter a number for 'x': "))
return x
def recursive(x):
print (x)
main()