Jak sprawdzić, czy wprowadzono dane wejściowe?Jak sprawdzić, czy użytkownik pozostawił pustą odpowiedź "input" lub "raw_input"?
Na przykład:
x = str(raw_input('Message>> '))
lub
y = input('Number>> ')
Jak sprawdzić, czy wprowadzono dane wejściowe?Jak sprawdzić, czy użytkownik pozostawił pustą odpowiedź "input" lub "raw_input"?
Na przykład:
x = str(raw_input('Message>> '))
lub
y = input('Number>> ')
Wiesz, jeśli nic nie zostało wpisane do drugiego, ponieważ będzie podnieść SyntaxError
. Można złapać błąd tak:
try:
y=input('Number>> ')
except SyntaxError:
y = None
następnie przetestować
# not just 'if y:' because 0 evaluates to False!
if y is None:
lub najlepiej użyć raw_input
:
try:
y = int(raw_input('Number>> '))
except ValueError:
print "That wasn't a number!"
Dla pierwszego, x
będzie pusty ciąg znaków, jeśli nic nie jest wpisane. Połączenie z str
jest niepotrzebne - raw_input
już zwraca ciąg znaków. Puste struny mogą być testowane na wprost:
if x == '':
lub pośrednio:
if x:
ponieważ tylko False
łańcuch jest i pusty.
To również działa zbyt
y = input('Number>> ')
while not y:
y = input('Number>> ')
Funkcja wejścia nie wróci, dopóki coś zostało wprowadzone. Masz na myśli, jak sprawdzić, czy wprowadzone dane wejściowe są puste? –
@MarkRansom Tak, to jest dokładnie to, czego potrzebuję! :) –