我需要實作標題中提到的函式的遞回版本。我的問題是我不知道如何將它實作為遞回。我只用回圈完成了它。
def n_sums(n:int):
for i in range(10**(n-1),10**n):
i=str(i)
sum1=0
sum2=0
for j in range(len(i)):
if j%2==0:
sum1 =int(i[j])
else:
sum2 =int(i[j])
if sum1==sum2:
print(i)
uj5u.com熱心網友回復:
你能做這樣的事情嗎?
def n_sums_recursive(n: int, i: int = 0, sum1: int = 0, sum2: int = 0):
if i == 0:
i = 10**(n-1)
if i < 10**n:
i = str(i)
for j in range(len(i)):
if j % 2 == 0:
sum1 = int(i[j])
else:
sum2 = int(i[j])
if sum1 == sum2:
print(i)
n_sums_recursive(n, int(i) 1, 0, 0)
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/525703.html
標籤:Python递归
上一篇:Python:從字典列中提取所有資料并將它們放入列中
下一篇:Pandas-用一些值填充空白列
