为什么出现cannot assign to function call
def gcp(x,y):i = 1
while i == 1:
z = int(max(x,y)) % int(min(x,y))
if z == 0:
print(max(x,y))
break
else:
if z > min(x,y):
min(x,y) = z
else:
max(x,y) = min(x,y)
min(x,y) = z 不能分配给函数调用
看一下出错的地方是不是用错括号了 本帖最后由 Twilight6 于 2020-7-24 17:32 编辑
你吧 max 和 min 在循环过程中赋值了,下次循环时候 max 函数和 min 函数都被你之前的赋值所覆盖了原有的功能,导致 max 和 min 使用报错了
帮你改了下代码,你应该是要这种效果:
def gcp(x,y):
x,y = min(x, y),max(x, y)
while 1:
if y == 0:
print(x)
break
z = x%y
x = y
y = z
你是想做什么? 你是想求最大公因数吧,这么写就可以了:def gcd(x: int, y: int) -> int:
while y:
x, y = y, x % y
return x max(x,y) = min(x,y)
这个。。python 不支持给函数返回值赋值吧
页:
[1]