我正在学习python。它在此脚本中提供语法错误。我无法理解。
import exceptions
class FOUND(Exception): pass
x = [1,2,3,4,56,73,29,35,12,32,63,12,76,75,89]
while True:
try:
test = int(raw_input('Enter integer to be checked in list:'))
count = -1
for y in x:
count += 1
if y == test:
raise FOUND
except ValueError as e:
print "Not a valid integer (%s)"%(e)
except FOUND:
print "Found (%d) at (%d)"%(test,count)
else:
print "Not found ,Appending (%d) to list at location (%d)"%(test,count+1)
x.append(test)
finally:
print "The List:"
print x
print " "
语法无效&它突出显示此行中的结束双引号:print "Not a valid integer (%s)"%(e)
答案 0 :(得分:5)
print
来自python 2,如果您使用的是python 3,则需要使用print()
。
您无法设置例外格式,因为%d
- %d
适用于整数。
答案 1 :(得分:2)
尝试使用except ValueError as e:
,您使用的旧语法在Python 3中无效。
答案 2 :(得分:1)
class ...
和x = ...
答案 3 :(得分:1)
你的代码(剪切和粘贴,没有改动)对我来说很好(Python 2.5)。
BTW,你的test = int ...行应该在try之后(并且适当地缩进)并且“not a valid integer(%d)”中的%d应该是%s。
Python 3的异常处理语法已经更改:确保您所遵循的任何帮助/教程都适用于您安装的相同主要版本的Python。从2.x到3.x有了显着的变化。