Ich programmiere nun schon einige Monate in Python, allerdings habe ich mich bisher kaum mit Nutzereingaben beschäftigt… und nun wo ich es tue, fallen mir einige Verständnisprobleme auf. Deshalb habe ich mich dafür mal hier angemeldet und hoffe, dass mich jemand ein wenig erleuchten kann.

Folgendes möchte ich umsetzen: Ich benötige durch den Benutzer zwei Eingaben:
1. Eine einzelne Ganzzahl
2. Einen Vektor mit zwingend drei Elementen, der nicht der Nullvektor sein darf.
Für 2. dachte ich bei der Umsetzung an eine Liste, die dementsprechend folgende drei Dinge erfüllen muss:
a) Sie muss zwingend drei Elemente enthalten.
b) Die Elemente dürfen ausschließlich Ganzzahlen sein. (Gleitkommazahlen gingen zusätzlich auch, aber das würde es nur noch unnötig komplizierter machen)
c) Es dürfen nicht alle drei Elemente gleich Null sein.
Ich hin aktuell bereits so weit:
Code: Alles auswählen
def eingabe(): # Gibt eine Liste [int(b), list(a)] zurück. Beispiel: [3, [1, 4, 8]]
while True: # Eingabe der einzelnen Ganzzahl b
try:
b = int(input("Bitte eine ganze Zahl eingeben,"
except ValueError:
print("Ungültige Eingabe. Bitte eine ganze Zahl eingeben: "
else:
break
while True: # Eingabe des Vektors
try:
a = []
a = [int(i) for i in input("Bitte drei weitere Ganzzahlen in der Form "x y z" eingeben: ").split()]
except ValueError:
print("Ungültige Eingabe. Bitte drei ganze Zahlen eingeben."
else:
break
return [b, a]
Wie löst man das alles, so dass es gutem Stil entspricht?