Das Einrueckungen 3 Zeichen tief sein sollen ist nicht wahr. Sie sollen 4 Leerzeichen tief sein.
Sorry!
Und warum machst du da so eine Typpruefung?
Ich will verhindern, dass Buchstaben eingegeben und von Python angenommen werden.
Aus der Zeile davor geht doch hervor, dass es sich wenn um eine Ganzzahl handeln muss, du rufst ja int(...) um input auf. Wenn das *keine* Ganzzahl ist, dann fliegt eine Exception. Die faengst du ja ab. Allerdings zu breit. Du solltest nur den ValueError abfangen.
Habe den Code jetzt so geändert:
Code: Alles auswählen
while True:
try:
i = int(input("Gebe die Ziffer für die Heimmannschaft ein:"))
if (i < 0 and i >= MANNSCHAFTSANZAHL):
break
except ValueError:
print("Ups! Das war keine gültige Zahl. Versuche es noch einmal...")
Der Bildschirmausdruck ist folgender:
Gebe die Ziffer für die Heimmannschaft ein:r
Ups! Das war keine gültige Zahl. Versuche es noch einmal...
Gebe die Ziffer für die Heimmannschaft ein:1
Gebe die Ziffer für die Heimmannschaft ein:o
Ups! Das war keine gültige Zahl. Versuche es noch einmal...
Gebe die Ziffer für die Heimmannschaft ein:2
Gebe die Ziffer für die Heimmannschaft ein:1
Gebe die Ziffer für die Heimmannschaft ein:0
Gebe die Ziffer für die Heimmannschaft ein:t
Ups! Das war keine gültige Zahl. Versuche es noch einmal...
Gebe die Ziffer für die Heimmannschaft ein:
Wenn ich einen Buchstaben eingebe kommt "Ups....."
Wenn ich eine Zahl ab 0 eingebe bleibt Python in der Zeile.
Bin immer noch in so einer Art Dauerschleife. Ich weiß wirklich nicht warum das so ist.