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.
Die Summe der Zahlen
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:
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.
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
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.
- __blackjack__
- User
- Beiträge: 14076
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
Code: Alles auswählen
print(sum(range(int(input("Geben Sie n ein: ")))))
“Vir, intelligence has nothing to do with politics!” — Londo Mollari
- pillmuncher
- User
- Beiträge: 1530
- Registriert: Samstag 21. März 2009, 22:59
- Wohnort: Pfaffenwinkel
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
In specifications, Murphy's Law supersedes Ohm's.
- __blackjack__
- User
- Beiträge: 14076
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
Upsi, da habe ich ein ``+ 1`` vergessen. 
“Vir, intelligence has nothing to do with politics!” — Londo Mollari
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))
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))
Warum so kompliziert?
Code: Alles auswählen
n * (n + 1) // 2
-
- User
- Beiträge: 8
- Registriert: Freitag 12. November 2021, 22:15
Vielen Dank gute Leute!
Selbstverstaendlich funktionieren diese drei sehr gut:
Die erste Loesung:
Die zweite Loesung:
Die dritte Loesung:

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)
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))
Code: Alles auswählen
n = int(input('Gib bitte N an: '))
m, r = divmod(n, 2)
print(m*n+(n*r or m))