0
J'ai travaillé sur un problème Je ne comprends pas pourquoi l'étape de la fonction récursive renvoie None?Pourquoi la fonction print() n'en imprime aucune dans ce cas
Voici le code:
import sys
def minIndx(list):
x=10
indx=0
for i in range(len(list)):
if (list[i]<x):
x=list[i]
indx=i
return indx
def steps(arr,sum1,sum2,x):
i = minIndx(arr)
del arr[i]
sum1 = sum(arr)
if (sum1 + 9*x >= sum2):
return x
else: steps(arr,sum1,sum2,x+1)
s=input()
digits1=[]
digits2=[]
for i in range(len(s)):
if (i>2):break
digits1.append(int(s[i]))
for i in range(len(s)):
if (i<3):continue
digits2.append(int(s[i]))
sumLeft = sum(digits1)
sumRight = sum(digits2)
print(steps(digits1,sumLeft,sumRight,1))
pour le cas de test: 123456, la fonction imprime étape Aucun ainsi que la fonction d'impression
Dans l'autre dans 'steps', vous ne renvoyez rien. Chaque branche d'exécution doit renvoyer quelque chose lorsque vous utilisez la récursivité. Renvoie juste le résultat de l'appel récursif. – Carcigenicate