How do I check if input has been entered?
For example (python2)
x = str(raw_input('Message>> '))
or (python3)
y = input('Number>> ')
How do I check if input has been entered?
For example (python2)
x = str(raw_input('Message>> '))
or (python3)
y = input('Number>> ')
You know if nothing was entered for the second one because it will raise a SyntaxError. You can catch the error like this:
try:
y=input('Number>> ')
except SyntaxError:
y = None
then test
# not just 'if y:' because 0 evaluates to False!
if y is None:
or, preferably, use raw_input:
try:
y = int(raw_input('Number>> '))
except ValueError:
print "That wasn't a number!"
For the first one, x will be an empty string if nothing is entered. The call to str is unnecessary -- raw_input already returns a string. Empty strings can be tested for explicitly:
if x == '':
or implicitly:
if x:
because the only False string is an empty string.
if not x: or if len(x) < 1: as alternatives to if x == '':, or are those considered bad practice?if x: to test emptyness.This also work too
y = input('Number>> ')
while not y:
y = input('Number>> ')