Ich weiß jetzt nicht ob es hier reinpasst, aber ich brauch das jetzt dringend bzw. muss es dringend können, da ich im programmieren nicht sonderlich begabt bin...
Also, ich muss die Summe aller ungeraden Zahlen rekursiv berechnen, mit einer funktions names z.b. rekursiv(n), wobei n noch zu der summe gehören könnte.
Ist für euch sicherlich kein ding, nur ich bin hilflos
Rekursion. Hilfe!
Code: Alles auswählen
def sumr(n):
if n == 0:
return 0
elif n == 1:
return 1
elif n%2!= 0:
return n + sumr(n-1)
else:
sumr(n-1)
Code: Alles auswählen
def sum(n):
z=0
for i in range(n+1):
if i%2!=0:
z=z+i
print z
- gerold
- Python-Forum Veteran
- Beiträge: 5555
- Registriert: Samstag 28. Februar 2004, 22:04
- Wohnort: Oberhofen im Inntal (Tirol)
- Kontaktdaten:
Hi Erebos!Erebos hat geschrieben:aller ungeraden Zahlen
Ob eine Zahl ungerade ist, findest du so heraus:
Code: Alles auswählen
if zahl % 2:
print "Ungerade"
else:
print "Gerade"
mfg
Gerold
Edit: Ich sehe gerade, dass du das schon weißt.
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Das ruft sumr(n-1) auf und schmeisst das Ergebnis weg...Erebos hat geschrieben:Code: Alles auswählen
else: sumr(n-1)
Du hast da das return vergessen.