创建一个从列表返回质数的函数

时间:2018-10-24 18:32:37

标签: python python-3.x

我正在自学python,并且是一个初学者,我真的为此感到挣扎,并且我希望有一个正确方向的指南。

我必须创建一个函数,该函数可以将列表作为参数,计算哪些是质数,哪些不是,然后返回仅包含质数的列表。我设法写了一些找到单数质数的东西,但无法将其改编成列表,它似乎不起作用,所以这是我的主要问题!

我的一般策略是定义函数,基本上是编写一个控件,该控件确定列表中的元素是否为质数,然后将其放入新列表中,然后在调用函数时返回该列表,但是我无法付诸实践,这就是我的经验:

def PrimeList(list,x):
    for i in list:
        for x in range (2, i-1):
            if (i % x) == 0 :
                list.remove(i)

    return list

print(PrimeList(...,...))

所以我的想法是我是我在打印位中放入的列表中的任何数字,然后它测试x,它是2到i本身减去1的所有整数。然后,如果确定i%x没有余数,则它不是素数,因此将其从列表中删除。

几个问题:

1)它没有运行,它说我得到:

ValueError: list.remove(x): x not in list

2)我最初使用了append,并定义了一个新变量z,这样我有了z=[],然后在z.append(i)之后又有了return z

这时,我得到的只是非质数,并重复地将新质数根数加到新质数中,所以8出现了两倍,分别是4和2。我不知道为什么发生了..

3)我不知道在参数{x}的最后print(PrimeList(...,...))位中要放什么,因为它将限制i。

任何指向解决方案的指针将不胜感激,谢谢!

0 个答案:

没有答案