Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python3函数返回None。GCD与欧几里得_Python_Python 3.x - Fatal编程技术网

Python3函数返回None。GCD与欧几里得

Python3函数返回None。GCD与欧几里得,python,python-3.x,Python,Python 3.x,对于我来说,这段python 3代码没有返回任何值,而它显然应该返回12。我想不出来 from math import * def gcd(m,n): print("gcd: ",m,", ",n,")") if n == 0: print(m) return m else: gcd(n,m//n) def main(): m = 60 n = 24 result = gcd(m,n)

对于我来说,这段python 3代码没有返回任何值,而它显然应该返回12。我想不出来

from math import *

def gcd(m,n):

    print("gcd: ",m,", ",n,")")

    if n == 0:
        print(m)
        return m
    else:
        gcd(n,m//n)

def main():

    m = 60
    n = 24
    result = gcd(m,n)
    print(result)

main()
换线

gcd(n,m//n)

换线

gcd(n,m//n)


好的,谢谢!我能得到一些解释吗?为什么要返回它?如果不显式地说return,函数将不返回任何值。仅仅调用和计算gcd(n,m//n)没有任何作用。(你可能有R或函数式编程语言的背景吗?@Jpy:同样的原因,你写
return m
而不是
m
,你写
return gcd(…)
而不是
gcd(…)
好的,谢谢!我能得到一些解释吗?为什么要返回它?如果不显式地说return,函数将不返回任何值。仅仅调用和计算gcd(n,m//n)没有任何作用。(你可能有R或函数式编程语言的背景吗?@Jpy:同样的原因,你写
return m
而不是
m
,你写
return gcd(…)
而不是
gcd(…)
我不知道你这样做是不是为了练习,但是在
分数中已经有了gcd函数:我不知道你是不是在做练习,但是在
分数中已经有了gcd函数: