所以我做了一些數學研究,并決定在 python 中重新創建一個簡單的作業,即找到一個數字的因子對。我很容易做到這一點,但現在我有一個小問題,我試圖弄清楚但無濟于事。這是代碼:
# Find the factor pairs of a given number
def getFactorPairs(n=0):
num = n
factors = []
pair = None
for p in range(1, num 1):
for r in range(1, num 1):
if p * r == num:
pair = (p, r)
if (r, p) not in factors:
factors.append(pair)
else:
continue
return factors
print(getFactorPairs(120)) # Works fine
getFactorPairs(120) # This doesn't give any result. Why?
當我使用print(getFactorPairs())and 傳入一個數字時,結果符合預期,但是當我只是呼叫該函式getFactorPairs()并輸入一個數字時,它不會給我任何結果。如果有人能告訴我我做錯了什么,我會很高興。謝謝。
uj5u.com熱心網友回復:
代替
getFactorPairs(120) # This doesn't give any result. Why?
和
temp = getFactorPairs(120)
print(temp)
原因
當函式回傳值/值時,python 不會自動顯示它。
uj5u.com熱心網友回復:
列印功能將顯示這些值。如果將 getFactorPairs() 的結果分配給變數并使用 print 顯示變數,它將顯示結果
def getFactorPairs(n=0):
num = n
factors = []
pair = None
for p in range(1, num 1):
for r in range(1, num 1):
if p * r == num:
pair = (p, r)
if (r, p) not in factors:
factors.append(pair)
else:
continue
return factors
result = getFactorPairs(120)
print(result)
您只是執行函式而不顯示結果
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/432746.html
上一篇:PHP,比較2個while回圈
下一篇:在排序之前找到計算的來源?
