Schreiben Sie eine Funktion in Python, der ein Array mit Zahlen übergeben wird und die als Ergebnis die Summe aller Zahlen des Arrays zurückliefert.
def return_sum(feld):
i=0
summe=0
for i in range (0,len(feld)):
summe=summe+feld
return summe
feld=[2,4,3,2,1]
print(return_sum(feld))
es liefert mir keine summe, sondern die wert des index 2
return sume funktion
So geht das auch nicht. Du müsstest nehmen. Aber auch das macht man in Python nicht. Der typische Weg wäre:
...oder gleich die eingebaute sum()-Funktion benutzen!
Code: Alles auswählen
summe = summe + feld[i]
Code: Alles auswählen
for number in numbers:
result += number
Der gezeigte Code sollte eigentlich gar kein Ergebnis liefern, sondern einen TypeError. Du addierst die gesamte Eingabeliste wiederholt zum Wert Null; das kann natürlich nicht funktionierenmoh hat geschrieben: Montag 22. April 2019, 15:36 es liefert mir keine summe, sondern die wert des index 2

Edit: snafu war schneller...
- __blackjack__
- User
- Beiträge: 14042
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
@moh: Der Code läuft gar nicht, weil der durch einen Fehler in der Einrückung nicht einmal am Compiler vorbei kommt.
@nezzcarth: Nein die Eingabeliste wird nicht addiert sondern das Element am Index `i`. Das sieht man bloss nicht (direkt) im Beitrag, weil aus dem ``[ i ]`` (wo ich jetzt absichtlich Leerzeichen rein gesetzt habe) im Beitrag der Tag für „italic“, also kursiv, gesetzten Text wird. Was man dann indirekt daran erkennen kann, das der folgende Text kursiv gesetzt ist.
@moh: Darum setze bitte Quelltext auch in die dafür im Forum verwendeten Tags, damit a) die Einrückung nicht verloren geht, und b) kein Quelltext als Foren-Tags interpretiert wird. Beides ist wichtig damit wir tatsächlich Deinen Code sehen können wie Du ihn geschrieben und ausgeführt hast.
@nezzcarth: Nein die Eingabeliste wird nicht addiert sondern das Element am Index `i`. Das sieht man bloss nicht (direkt) im Beitrag, weil aus dem ``[ i ]`` (wo ich jetzt absichtlich Leerzeichen rein gesetzt habe) im Beitrag der Tag für „italic“, also kursiv, gesetzten Text wird. Was man dann indirekt daran erkennen kann, das der folgende Text kursiv gesetzt ist.
@moh: Darum setze bitte Quelltext auch in die dafür im Forum verwendeten Tags, damit a) die Einrückung nicht verloren geht, und b) kein Quelltext als Foren-Tags interpretiert wird. Beides ist wichtig damit wir tatsächlich Deinen Code sehen können wie Du ihn geschrieben und ausgeführt hast.
„A life is like a garden. Perfect moments can be had, but not preserved, except in memory. LLAP” — Leonard Nimoy's last tweet.
mit welchem wert muss den result instaliert ? result=0?snafu hat geschrieben: Montag 22. April 2019, 15:47 So geht das auch nicht. Du müsstestnehmen. Aber auch das macht man in Python nicht. Der typische Weg wäre:Code: Alles auswählen
summe = summe + feld[i]
...oder gleich die eingebaute sum()-Funktion benutzen!Code: Alles auswählen
for number in numbers: result += number
Hätte ich eigentlich wissen müssen;__blackjack__ hat geschrieben: Montag 22. April 2019, 15:57 @nezzcarth: Nein die Eingabeliste wird nicht addiert sondern das Element am Index `i`. Das sieht man bloss nicht (direkt) im Beitrag, weil aus dem ``[ i ]`` (wo ich jetzt absichtlich Leerzeichen rein gesetzt habe) im Beitrag der Tag für „italic“, also kursiv, gesetzten Text wird. Was man dann indirekt daran erkennen kann, das der folgende Text kursiv gesetzt ist.

[def return_sum(numbers):
result=0
for number in numbers:
result+= number
return result
numbers=[2,4,3,2,1]
print(return_sum(numbers))
]
[Leider funktoniert immer noch nicht
ich weiß, dass es mit dem eingebaute sum funktion geht, aber will die summe als rückgabewert]
result=0
for number in numbers:
result+= number
return result
numbers=[2,4,3,2,1]
print(return_sum(numbers))
]
[Leider funktoniert immer noch nicht
ich weiß, dass es mit dem eingebaute sum funktion geht, aber will die summe als rückgabewert]
- __blackjack__
- User
- Beiträge: 14042
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
@moh: Die eingebaute `sum()`-Funktion hat die Summe als Rückgabewert.
Was denkst Du denn was ``return`` bewirkt? Beschreibe doch mal was da in welcher Reihenfolge ausgeführt wird. Das konkrete Beispiel.
Was denkst Du denn was ``return`` bewirkt? Beschreibe doch mal was da in welcher Reihenfolge ausgeführt wird. Das konkrete Beispiel.
„A life is like a garden. Perfect moments can be had, but not preserved, except in memory. LLAP” — Leonard Nimoy's last tweet.