IDnum = input("\nprompt: ")
if int(IDnum) >= 0 :
if int(IDnum) in T.keys() :
print("ID number(s) that {} will contact is(are) {}.".format(int(IDnum),T[int(IDnum)]))
else :
print("Entered ID number {} does not exist.".format(int(IDnum)))
else:
break
ist Es ist eigentlich eine while-Schleife, ID-Nummern empfangen und überprüfen, ob die Zahlen in der Datei sind.Prüfen, ob die Eingabe int> = 0 mit if-Anweisung
Ich möchte es unterscheiden, ob die Eingabe eine Ganzzahl> = 0 ist und wenn es etwas anderes ist (zB Leerzeichen, Enter, Zeichen, Float, etc.), brechen Sie die Schleife.
Wie kann ich dies mit if-Anweisungen tun?
Ich habe versucht, wenn IDNUM == '' oder IDNUM == '' oder int (IDNUM) < 0: aber wie Sie wissen, kann es nicht alle anderen Fälle abdecken.
ich einfach mit 'input_string.strip gehen würde() isdigit()' zu überprüfen, für eine positive ganze Zahl ist. –
@SvenMarnach Aber das würde bedeuten, zweimal durch die Num-Zeichenfolge zu gehen, einmal für die Validierung und eine andere für die Konvertierung – comiventor
@comiventor Ich denke, es ist der lesbarste und einfache Code. Leistung spielt hier keine Rolle (und beachten Sie, dass das Auslösen einer Ausnahme eher langsam ist). –