Python 3.4.1 语法无效? [重复]

问题描述 投票:0回答:1

我正在编写一个显示几个素数的程序,这是使用函数所必需的。 例如 1 在 10 = 2,3,5,7

但在 - print i- only 的最后一行出现错误...我不明白那是什么

def isPrime(num):
    if num < 2:
        return False

    i = 2
    for i in range(2,int(math.sqrt(num)+1)):
        if (num % i == 0):
            return False

    return True

def main():
    print ("this program do prime numbers")
    start = int(raw_input("start number "))
    finish = int(raw_input('finish number: '))

    for i in range(start,finish):
        if isPrime(i):
            print i
python python-3.4
1个回答
1
投票

您的问题是您没有用括号将

i
中的
print i
括起来。 在Python 3中,
print
已从语句更改为函数。
这是您编辑的代码:

def isPrime(num):
    if num < 2:
        return False

    i = 2
    for i in range(2,int(math.sqrt(num)+1)):
        if (num % i == 0):
            return False

    return True

def main():
    print ("this program do prime numbers")
    start = int(raw_input("start number "))
    finish = int(raw_input('finish number: '))

    for i in range(start,finish):
        if isPrime(i):
            print(i) #Previously "print i"

之前运行:

bash-3.2$ python3.4 prime.py
  File "test.py", line 19
    print i
          ^
SyntaxError: invalid syntax
bash-3.2$

编辑后:

bash-3.2$ python3.4 prime.py
bash-3.2$
© www.soinside.com 2019 - 2024. All rights reserved.