编写一个名为list_of_primes的函数,它接受一个正整数 n并返回所有素数的排序列表(升序) 介于2和n之间(包括2但不包括n)
def list_of_primes (n):
list = []
for i in range (2, n):
isPrime = True
for j in range (2, i):
if (i % j == 0):
isPrime = False
if isPrime:
list.append(list)
return (list)
#Main Program
n = int(input("Enter a integer value: "))
result = list_of_primes (n)
print (result)
我无法获得此代码的任何输出。有人可以帮我这个吗?
答案 0 :(得分:0)
应该是list.append(i)
而不是list.append(list)
。
答案 1 :(得分:0)
不要在python中的内置列表之后命名你的变量,我还创建了另一个函数is_prime
来检查一个数字是否是迭代时的素数
def list_of_primes(n):
res = []
for i in range(2, n):
if is_prime(i):
res.append(i)
return res
def is_prime(n): # checks if a number is prime
for i in range(2, int(n ** 0.5) + 1):
if n % i == 0:
return False
return True
#Main Program
n = int(input("Enter a integer value: "))
result = list_of_primes(n)
print(result)