代码中一些语法的问题

有没有大哥指导一下,为什么这个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)

你直接在函数里面把结果输出出来了啊,返回值没有起作用啊

明白了明白了
如果我不在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`这个变量接住了

谢谢老哥回答 :smile: