tcdhl
(【大灰狼】Python境界: 练气期 | Flask心法: 初级)
1
有没有大哥指导一下,为什么这个return(x)我删除或者留着都没影响
continuenum = 1
while continuenum > 0:
num1 = int(input('输入一个被除数: '))
num2 = int(input('输入一个除数: '))
def gys_gbs(x=0, y=0):
if y:
return gys_gbs(y, x%y)
else:
gbs = num1 * (num2 / x)
print('最大公约数为:%d, 最小公倍数为:%d' % (x, gbs))
return(x)
gys_gbs(num1, num2)
你直接在函数里面把结果输出出来了啊,返回值没有起作用啊
tcdhl
(【大灰狼】Python境界: 练气期 | Flask心法: 初级)
3
明白了明白了
如果我不在if中进行打印 在print(gys_gbs(num1, num2))这块打印的话 是要个return返回一下x的
好像说的不太准确,if y
这里判定为真的话->返回的是一个函数的运行结果(有递归的成分),但如果判定为假,你返回了x,但并没有用东西把这个x接住。 描述的可能不太清楚,贴一下代码:
def gys_gbs(x=0, y=0):
if y:
return gys_gbs(y, x%y)
else:
gbs = num1 * (num2 / x)
print('最大公约数为:%d, 最小公倍数为:%d' % (x, gbs))
return x
outside_x = gys_gbs(num1, num2)
print(outside_x) # 这里打印出来就是你函数返回的x, 函数返回的x用`outside_x`这个变量接住了