这种情况意味着什么?

时间:2020-06-29 13:02:00

标签: python

我不太习惯Python,我遇到了这段代码。

此条件y:x,y=y,x%ywhile语句意味着什么?

xy应该是整数。

def a(x,y):
   while y:x,y=y,x%y
   return x

3 个答案:

答案 0 :(得分:4)

python有时可以用一个内衬写。如果您打断输入内容:

def a(x,y):
    while y:
        x, y = y, x%y
    return x

这意味着yTrue1(之所以满足,因为没有其他内容被指定为y==2y ==12310982 ...并且如果您尝试将True设为数字,它将返回为1

第二条语句是同时定义两个变量x, y,这等效于=之后与y, x%y相同的顺序

答案 1 :(得分:2)

您似乎复制了错误的内容,应该是:

def a(x,y):
    while y:
        x,y =y, x%y
    return x

答案 2 :(得分:2)

def a(x,y):
  while y:x,y=y,x%y
  return x

以这种方式编写代码

def a(x,y):
   while y:
     x,y=y,x%y
   return x

什么也没有,但是如果y> 0,则执行while循环

x,y = y, x % y中发生的是 x = y

y = x % y(在某些时候使y = 0