我不太习惯Python,我遇到了这段代码。
此条件y:x,y=y,x%y
对while
语句意味着什么?
x
和y
应该是整数。
def a(x,y):
while y:x,y=y,x%y
return x
答案 0 :(得分:4)
python有时可以用一个内衬写。如果您打断输入内容:
def a(x,y):
while y:
x, y = y, x%y
return x
这意味着y
是True
或1
(之所以满足,因为没有其他内容被指定为y==2
或y ==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
)