下面的程序比我的更精确、更短,因此更有吸引力。我理解 mod (%),但是该行的其余语法让我感到困惑。有谁知道这个语法叫什么或者它是如何工作的?
该问题要求创建一个函数来查找两个整数的最大公约数 (gcd),该最大公约数是将两个数字相除而无余数的最大数字。
例如,20和12的gcd为4。
def gcd(x, y):
while y != 0:
(x, y) = (y, x % y) ## What is happening here? What's this syntax called?
return x
链接到我找到该程序的位置:How to calculate a mod b in python?
非常感谢您的帮助!
最佳答案
您偶然发现了元组分配!
简而言之,在Python中,你可以分配变量组,只要你从具有相同格式的结构中分配它们
以下是所发生情况的更简单说明:
a,b = 3,5
#a is now equal to 3 and b is now equal to 5
#You literally could go:
# a = 3
# b = 5
#And it would be logically equivalent
a+b
返回
>>>8
在函数中,您将 y 的值(函数的第二个参数)分配给变量 x,并将 y 的值更新为 x/y 的余数。
我希望这会有所帮助。
关于python - 最大公约数的语法 - Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54395244/