Wie überprüfe ich, ob Eingabe eingegeben wurde?Wie überprüfe ich, ob ein Benutzer die Eingabeaufforderung 'input' oder 'raw_input' leer gelassen hat?
Zum Beispiel:
x = str(raw_input('Message>> '))
oder
y = input('Number>> ')
Wie überprüfe ich, ob Eingabe eingegeben wurde?Wie überprüfe ich, ob ein Benutzer die Eingabeaufforderung 'input' oder 'raw_input' leer gelassen hat?
Zum Beispiel:
x = str(raw_input('Message>> '))
oder
y = input('Number>> ')
Sie wissen, wenn nichts für die zweite eingegeben wurde, weil es eine SyntaxError
erhöhen wird. Sie können den Fehler wie diese fangen:
try:
y=input('Number>> ')
except SyntaxError:
y = None
dann
# not just 'if y:' because 0 evaluates to False!
if y is None:
testen oder vorzugsweise verwenden raw_input
:
try:
y = int(raw_input('Number>> '))
except ValueError:
print "That wasn't a number!"
Für die erste, x
wird ein leerer String sein, wenn nichts ist eingegeben. Der Aufruf an str
ist nicht erforderlich - raw_input
gibt bereits eine Zeichenfolge zurück. Leere Strings können explizit getestet werden:
if x == '':
oder implizit:
if x:
, weil die einzige False
String und leere Zeichenkette.
diese Arbeit auch zu
y = input('Number>> ')
while not y:
y = input('Number>> ')
Die Eingangsfunktion wird nicht zurückkehren, bis etwas eingegeben wurde. Meinst du, wie man überprüft, ob die eingegebene Eingabe leer ist? –
@MarkRansom Ja, genau das brauche ich! :) –