我正在编写一个显示几个素数的程序,这是使用函数所必需的。 例如 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
您的问题是您没有用括号将
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$