练习1:实现计算求最大公约数和最小公倍数的函数。
def foo(a,b):if a <b:
a,b =b,a
for i in range(b+1,1,-1):
if a% i==0 and b %i ==0:
print("%d和%d的最大公约数是%d"%(a,b,i))
print("%d和%d的最小公倍数是%d"%(a,b,a*b/i))
break
print(foo(9,72))
输出结果:
72和9的最大公约数是9
72和9的最小公倍数是72
None
为什么我这个函数最后的输出结果一直有一个none,请问应该如何去掉 本帖最后由 Twilight6 于 2020-6-3 23:29 编辑
函数末尾加个 return '' 即可
因为函数没设置返回值
def foo(a,b):
if a <b:
a,b =b,a
for i in range(b+1,1,-1):
if a% i==0 and b %i ==0:
print("%d和%d的最大公约数是%d"%(a,b,i))
print("%d和%d的最小公倍数是%d"%(a,b,a*b/i))
break
return ''
print(foo(9,72)) 把print(foo(9,72))改为foo(9,72) 本帖最后由 永恒的蓝色梦想 于 2020-6-4 06:45 编辑
def foo(a,b,/):
x=a
y=b
while y:
x,y=y,x%y
return f"{a}和{b}的最大公约数是{x}\n{a}和{b}的最小公倍数是{a*b//x}" 学到了,你呢
页:
[1]