python中的语法错误:

时间:2010-06-14 12:01:28

标签: python python-3.x

我正在学习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)

4 个答案:

答案 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有了显着的变化。