這個問題在這里已經有了答案: 為什么我的遞回函式回傳 None? (4 個回答) 回傳函式的輸出與列印它有何不同? (9 個回答) 22 小時前關閉。
我是 python 新手,我嘗試使用歐幾里安演算法創建一個 GCD 函式。但是每當我嘗試列印答案時,它都不會回傳。可能有人讓我知道我做錯了什么。
代碼:
def gcd(a,b):
if a - b != 0:
b = b - a
b = abs(b)
if a > b:
a,b = b, a
return gcd(a,b)
else:
gcd(a,b)
else:
print(a)
x = input("Give First Num... ")
y = input("Give Second Num... ")
answer = gcd(int(x), int(y))
print("GCD = {}".format(answer))
安慰:
120
GCD = None
uj5u.com熱心網友回復:
要回傳某些內容,只需對您的代碼進行細微調整:
def gcd(a,b):
if a - b != 0:
b = b - a
b = abs(b)
if a > b:
a,b = b, a
return gcd(a,b)
else:
return gcd(a,b)
else:
return a
以這種方式撰寫,您的函式將始終回傳分配給answer.
uj5u.com熱心網友回復:
def gcd(a,b):
if a - b != 0:
b = b - a
b = abs(b)
if a > b:
a,b = b, a
return gcd(a,b)
else:
return gcd(a,b)
else:
return a
x = input("Give First Num... ")
y = input("Give Second Num... ")
answer = gcd(int(x), int(y))
print(answer)
print("GCD = {}".format(answer))
在最后一個“else”中,放置returnbefore print(),因為當您使用 print 并且想要獲取該值時,它不會回傳而只會列印(通過最后一個條件),您應該必須獲取該None值。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/409373.html
標籤:
