使用计算 GCD - Python 函数 return
Working with calculating GCD - Python function return
我写了一个代码来计算两个数字的 GCD。 (24,12) 的 gcd 是 12。函数 compute_gcd
计算 GCD 和 returns 它在 main 函数中打印。但是,当我 return 到主函数时输出是 none
,当我在 compute_gcd
函数本身中打印它时输出是 12 。
return使用 GCD 时我哪里出错了?
def compute_gcd(a,b):
if(b==0):
return a # Prints 12 if I replace with print a
else:
compute_gcd(b,a%b)
def main():
a=24
b=12
print compute_gcd(a,b) # Prints none
main()
您忘记在 else
分支中添加 return
。这有效:
def compute_gcd(a,b):
if b == 0:
return a
else:
return compute_gcd(b,a%b)
def main():
a=24
b=12
print compute_gcd(a,b) # Prints 12
main()
您的 else 条件没有 return,因此输出是 none。如果您将其更改为
else:
return compute_gcd(b,a%b)
你会得到 12
.
试试这个……你必须在 else
语句
中做一个 return
def compute_gcd(a,b):
if(b==0):
return a
else:
return compute_gcd(b,a%b)
def main():
a = 24
b = 12
print(compute_gcd(a,b))
main()
我写了一个代码来计算两个数字的 GCD。 (24,12) 的 gcd 是 12。函数 compute_gcd
计算 GCD 和 returns 它在 main 函数中打印。但是,当我 return 到主函数时输出是 none
,当我在 compute_gcd
函数本身中打印它时输出是 12 。
return使用 GCD 时我哪里出错了?
def compute_gcd(a,b):
if(b==0):
return a # Prints 12 if I replace with print a
else:
compute_gcd(b,a%b)
def main():
a=24
b=12
print compute_gcd(a,b) # Prints none
main()
您忘记在 else
分支中添加 return
。这有效:
def compute_gcd(a,b):
if b == 0:
return a
else:
return compute_gcd(b,a%b)
def main():
a=24
b=12
print compute_gcd(a,b) # Prints 12
main()
您的 else 条件没有 return,因此输出是 none。如果您将其更改为
else:
return compute_gcd(b,a%b)
你会得到 12
.
试试这个……你必须在 else
语句
return
def compute_gcd(a,b):
if(b==0):
return a
else:
return compute_gcd(b,a%b)
def main():
a = 24
b = 12
print(compute_gcd(a,b))
main()