我目前正在学习 Python,但我在修改此函数以按我希望的方式工作时遇到了问题。这是一个从两个整数中找到 gcd 的递归函数。 data
是一个包含两个整数的元组。如何修改此递归函数以使用一个参数?
def gcd(data):
a, b = data
if b == 0: return a
return gcd(b, a % b)
如果我这样执行,我得到
TypeError: checkio() 采用 1 个位置参数,但给出了 2 个
如果我尝试通过定义 def gcd(*data):
来收集参数,我会得到
ValueError:需要超过 1 个值才能解包
。
这可能吗?
最佳答案
你的函数需要一个变量(一个元组),但你传递了两个变量,试试这个:
return gcd((b, a % b))
关于python - 在递归函数中收集参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20151081/