Durch ein Programm sollen alle geraden bzw. ungeraden Zahlen in einem Bereich der durch den Benutzer definiert wurde ausgegeben werden?
Hallo kann mir jemand den Python-Code sagen für die Aufgabe? Dankeschön
4 Antworten
Ich hätte das beispielsweise folgendermaßen gelöst:
while True:
try:
lower = int(input("Bei welcher ganzen Zahl soll die Aufzählung beginnen? "))
upper = int(input("Bei welcher ganzen Zahl soll die Aufzählung enden? "))
except ValueError:
print("Das ist keine ganze Zahl gewesen!\n")
continue
if lower <= upper:
break
else:
print("Die untere Grenze ist größer als die obere Grenze!\n")
if lower % 2 == 0:
even = list(range(lower, upper+1, 2))
uneven = list(range(lower+1, upper+1, 2))
else:
even = list(range(lower+1, upper+1, 2))
uneven = list(range(lower, upper+1, 2))
print("Gerade Zahlen:", even)
print("Ungerade Zahlen:", uneven)
Hallo kann mir jemand den Python-Code sagen für die Aufgabe
können ja, aber das ist deine Hausaufgabe. Es ist nicht der Sinn davon, dass WIR dir deinen Code vorkauen - und das sind einfachste Grundlagen
Wo hapert es denn genau bei dir? Fehlen dir die Grundlagen? Fehlt dir die Idee?
Kleiner Tipp: Nutze eine Schleife, die über eine gewisse Range iteriert. Hierbei kannst du auch die Schrittweite in der Range angeben, sodass immer nur die gerade/ungerade Zahl angegeben wird.
Siehe auch: https://docs.python.org/3/library/functions.html#func-range
https://docs.python.org/3/tutorial/controlflow.html#for-statements
https://docs.python.org/3/tutorial/controlflow.html#the-range-function
Alternativ, wenn du beide Mengen mit einem einzigen Schleifendurchlauf ausgeben willst, kannst du beides in einer Liste / einem Set / einem Dict / jeder anderen Datenstruktur speichern. Du müsstest dann nur unterscheiden, ob es gerade oder ungerade ist - was du durch Modulo könntest
print(list(range(input("Gerade Zahlen? (j/n) ").lower().startswith("j")+1,int(input("Bis zu welcher Zahl? "))+1,2)))
Ich würde so herangehen: Du gehst mit einer for-Schleife alle Zahlen in diesem Bereich durch, machst bei jeder Modulo 2. Wenn da 0 rauskommt, ist sie gerade, dann kannst du sie einer Liste mit geraden Zahlen hinzufügen. Wenn da 1 rauskommt, ist sie ungerade, dann fügst du sie einer Liste für ungerade hinzu.
Und am Ende gibt du einfach mit einer erneuten for-Schleife und Print die Listen aus.