Seite 1 von 1

Die Summe der Zahlen

Verfasst: Freitag 12. November 2021, 22:46
von Davidcopperfield
Hallo gute Leute !
Ich bin ein Anfaenger und bereite ich mich auf einen Python-Kurs vor. Daraufhin stiess ich auf das folgende Problem:
Summe der Zahlen
Schreib in der Datei ein Programm, welches die Summe aller Zahlen von 0 bis <b>n</b> zählt, wobei <b>n</b> vom Benutzer angegeben wird.

Beispiel: n= 4
10

Meine Vorstellung lautet:

n = input("Geben Sie n ein:")
print(n)
for Liste in range(0, int(n)
if n > 0
sum(Liste)
else:
print("Geben Sie eine Ziffer oder Zahl größer als Null an")
continue

Mein Pycharm Community sowie Visual Studio Code erkennt es nicht. Ich versuchte auf viele Weisen.

Re: Die Summe der Zahlen

Verfasst: Freitag 12. November 2021, 23:52
von sparrow
Bitte schreibe deinen Code immer zwischen Code-Tags. Die erscheinen automatisch, wenn du den </>-Button im vollständigen Editor drückst. Dann bleiben die Einrückungen erhalten - und die sind bei Python nun einmal essentiell.

Ich mache das hier einmal mit deinem Code:

Code: Alles auswählen

n = input("Geben Sie n ein:")
print(n)
for Liste in range(0, int(n)
    if n > 0
        sum(Liste)
    else:
        print("Geben Sie eine Ziffer oder Zahl größer als Null an")
        continue
Der Code kommt aber gar nicht am Compiler vorbei, denn er hat Syntax-Fehler. Die solltest du erst einmal beheben.
Und dann solltest du mal für jede einzelne Zeile aufschreiben, was du denkst, was sie tut. Und dann musst du prüfen, ob sie auch wirklich das tut, was du denkst. Du hast zum Beispiel eine Variable "Liste" - aber im ganzen Programm gibt es gar keine Liste - und eine Zahl wird nicht dadurch zu einer, dass man sie so benennt.

Re: Die Summe der Zahlen

Verfasst: Freitag 12. November 2021, 23:56
von __blackjack__

Code: Alles auswählen

print(sum(range(int(input("Geben Sie n ein: ")))))

Re: Die Summe der Zahlen

Verfasst: Samstag 13. November 2021, 00:10
von pillmuncher
n muss auch dazugezählt werden:

Code: Alles auswählen

>>> from operator import add
>>> from functools import partial
>>> from toolz.functoolz import compose
>>> inc = partial(add, 1)
>>> program = compose(print, sum, range, inc, int, input)
>>> program("Geben Sie n ein: ")
Geben Sie n ein: 4
10

Re: Die Summe der Zahlen

Verfasst: Samstag 13. November 2021, 00:39
von __blackjack__
Upsi, da habe ich ein ``+ 1`` vergessen. 😳

Re: Die Summe der Zahlen

Verfasst: Samstag 13. November 2021, 11:15
von kbr
Oder so:

Code: Alles auswählen

n = int(input('bitte eine ganze positive Zahl eingeben: '))
print((n + 1) * (n // 2) + (n + 1) // 2 if n % 2 else (n + 1) * (n // 2))

Re: Die Summe der Zahlen

Verfasst: Samstag 13. November 2021, 12:50
von karolus
Mit dem "Luxus" einer dritten Codezeile:

Code: Alles auswählen

n = int(input('bitte eine ganze positive Zahl eingeben: '))
m, r = divmod(n,2)
print(m*n+(n*r or m))

Re: Die Summe der Zahlen

Verfasst: Samstag 13. November 2021, 13:13
von Sirius3
Warum so kompliziert?

Code: Alles auswählen

n * (n + 1) // 2

Re: Die Summe der Zahlen

Verfasst: Samstag 13. November 2021, 23:05
von Davidcopperfield
Vielen Dank gute Leute! :)

Selbstverstaendlich funktionieren diese drei sehr gut:
Die erste Loesung:

Code: Alles auswählen

n = int(input('Gib bitte N durch: '))
print(n * (n + 1) //2)
Die zweite Loesung:

Code: Alles auswählen

n = int(input('Gib bitte N ein: '))
print((n + 1) * (n//2) + (n + 1) // 2
	if n % 2
	else (n + 1) * (n // 2))
Die dritte Loesung:

Code: Alles auswählen

n = int(input('Gib bitte N an: '))
m, r = divmod(n, 2)
print(m*n+(n*r or m))