Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python SyntaxError:编译单个语句时发现多个语句_Python_Python 3.x - Fatal编程技术网

Python SyntaxError:编译单个语句时发现多个语句

Python SyntaxError:编译单个语句时发现多个语句,python,python-3.x,Python,Python 3.x,为什么此代码总是SyntaxError:编译单个语句时发现多个语句 在python 3.5.2中,我发现了一些语法错误,我修复了它们,代码运行正常。在上一份声明中有一个额外的内容,你也遗漏了一些内容。以下是最新版本: >>> import sys def prime(n): i=2 isp=True; while(i<n): if(n%i==0): isp=False break

为什么此代码总是SyntaxError:编译单个语句时发现多个语句
在python 3.5.2中,我发现了一些语法错误,我修复了它们,代码运行正常。在上一份声明中有一个额外的内容,你也遗漏了一些内容。以下是最新版本:

>>> import sys
def prime(n):
    i=2
    isp=True;
    while(i<n):
        if(n%i==0):
            isp=False
            break
        n/=i
        i+=1
    if(n==1):
        isp=False
    return isp

while(True)
    x=input("num=")
    if x=="exit"
        sys.exit()
    print(prime(int(x))))

SyntaxError: multiple statements found while compiling a single statement

代码中有多个语法错误。没有;在Python语句以及每个循环和条件so while和if的结尾处,以:。还要注意括号,因为在打印语句中有一个额外的结束语。 在这里,我修复了错误:

import sys

def prime(n):
    i=2
    isp=True;
    while(i<n):
        if(n%i==0):
            isp=False
            break
        n/=i
        i+=1
    if(n==1):
        isp=False
    return isp

while(True):
    x=input("num=")
    if x=="exit":
        sys.exit()
    print(prime(int(x)))
编辑:我想补充一点,使用IDLE可以很容易地检测语法错误,IDLE是Windows上与Python一起打包的IDE,也可以很容易地安装在Linux上

import sys
def prime(n):
    i=2
    isp=True
    while(i<n):
        if(n%i==0):
            isp=False
            break
        n/=i
        i+=1
    if(n==1):
        isp=False
    return isp

while(True):
    x=input("num=")
    if x=="exit":
        sys.exit()
    print(prime(int(x)))