检查用户输入的长度

Nei*_*eil 1 python string try-catch except

我试图检查用户输入的字符串的长度,如果它<5,它会通过但无论它的长度如何仍然通过我的尝试除了声明

打印"""请在公司的股票代码中加入您希望看到的最后收盘价格.""

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'
Run Code Online (Sandbox Code Playgroud)

Pad*_*ham 6

你不需要尝试/除外:

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
Run Code Online (Sandbox Code Playgroud)

在你的代码中:

try:
    len(symbol) < 5 # always checks len
    break # always breaks
except ValueError:
Run Code Online (Sandbox Code Playgroud)

例如,您可以使用try/exceptif来将输入转换为int捕获ValueError,但它不适用于您的情况.