Seite 1 von 1

Schleifen

Verfasst: Sonntag 12. November 2017, 01:40
von Freitag
Guten Abend zusammen,

und zwar war hab ich die Aufgabe eine Funktion zu schreiben, welche für eine gegebene Zahl n die Summe der ersten n natürlichen Zahlen zurückgibt.

Mein Versuch sieht so aus:

def add_up(n):
a = 0
summe = 0
while a < n:
summe = summe + a
a += 1
add_up(100)

print(summe)

Das Ergebnis soll 5050 ergeben und das tut es auch aber er spuckt trotz dessen einen AssertionError aus, ich bin für jegliche Hilfe dankbar! LG

Re: Schleifen

Verfasst: Sonntag 12. November 2017, 01:43
von __deets__
Bitte benutze die Python Code Tags. Sonst kann hier keiner dein Programm lesen. Und wer spuck ein assert aus? Ich sehe keines. Musst du das irgendwo online eingeben?

Re: Schleifen

Verfasst: Sonntag 12. November 2017, 02:07
von Freitag

Code: Alles auswählen

def add_up(n):
    a = 0
    summe = 0
    while a < n:
        summe = summe + a
        a += 1
add_up(100)

print(summe)
Ja ich muss das online abgeben

Re: Schleifen

Verfasst: Sonntag 12. November 2017, 02:21
von __deets__
Ich denke mal das du kein while verwenden sollst, weil das auch tatsächlich nicht getan wird. Benuzte for stattdessen.

Re: Schleifen

Verfasst: Sonntag 12. November 2017, 14:52
von Sirius3
@Freitag: die Aufgabe verlangt eine Funktion von Dir. Eine Funktion hat Eingabeparameter und Rückgabewerte. Bei den ersten n natürlichen Zahlen würde ich die 0 nicht mitzählen. Neben der while-Schleife kannst Du als Übung auch eine Lösung mit for-Schleife und der `sum`-Funktion schreiben.