我正在尝试检查用户输入的字符串的长度,如果它小于 5,它就会通过,但是无论它的长度如何,它仍然会通过我的 try except 语句
打印“”” 请填写公司股票代号 您希望看到其最后收盘价。"""
while True:
symbol = raw_input("Enter Stock Symbol: ")
try:
len(symbol) < 5
break
except ValueError:
print 'Greater than 4 characters, Try again'
print 'Great your stock symbol is less than 5'
请您参考如下方法:
你不需要尝试/异常(exception):
while True:
symbol = raw_input("Enter Stock Symbol: ")
if len(symbol) > 4:
print 'Greater than 4 characters, Try again'
else:
print 'Great your stock symbol {} is less than 5'.format(symbol)
break
In [3]: paste
while True:
symbol = raw_input("Enter Stock Symbol: ")
if len(symbol) > 4:
print 'Greater than 4 characters, Try again'
else:
print 'Great your stock symbol {} is less than 5'.format(symbol)
break
## -- End pasted text --
Enter Stock Symbol: FOOBAR
Greater than 4 characters, Try again
Enter Stock Symbol: YHOO
Great your stock symbol YHOO is less than 5
在您的代码中:
try:
len(symbol) < 5 # always checks len
break # always breaks
except ValueError:
例如,如果您想将输入强制转换为 int 并在那里捕获 ValueError,则可以使用 try/except,但它不适用于您的情况。
