我目前正在学习 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))
