python中的语法错误:

syntax error in python:

本问题已经有最佳答案,请猛点这里访问。

我正在学习python。 它在此脚本中提供语法错误。 我无法弄明白。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
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)


没有括号的print来自python 2,如果你使用的是python 3,则需要使用print()

您不能格式化异常,因为%d - %d是整数。


尝试except ValueError as e:,您使用的旧语法在Python 3中无效。


你的代码(剪切和粘贴,没有改动)对我来说很好(Python 2.5)。

顺便说一下,你的test = int ...行应该在try之后(并且适当地缩进)并且"not a valid integer(%d)"中的%d应该是%s。

Python 3的异常处理语法已经更改:确保您所遵循的任何帮助/教程都适用于您安装的相同主要版本的Python。 从2.x到3.x有显着的变化。


class ...x = ...之间需要一个空行