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
带while循环的Python3.x素数列表_Python_Python 3.x_For Loop_While Loop - Fatal编程技术网

带while循环的Python3.x素数列表

带while循环的Python3.x素数列表,python,python-3.x,for-loop,while-loop,Python,Python 3.x,For Loop,While Loop,当该函数达到7值时,如何停止该函数 PS:我想用while循环执行这些代码。 顺便说一句,如果你可以使它没有for循环的代码,请为我做:) 非常感谢您……编辑: 我想我以前的is_prime函数有问题。这种方法更快,效果更好:() 输出: def is_prime(Number): return 2 in [Number, 2**Number%Number] def prime(upper): print([num for num in range(2, upper + 1)

当该函数达到7值时,如何停止该函数 PS:我想用while循环执行这些代码。 顺便说一句,如果你可以使它没有for循环的代码,请为我做:) 非常感谢您……

编辑:

我想我以前的
is_prime
函数有问题。这种方法更快,效果更好:()

输出:

def is_prime(Number):
    return 2 in [Number, 2**Number%Number]

def prime(upper):
    print([num for num in range(2, upper + 1) if is_prime(num)])

prime(7)
但是,如果您坚持只使用
循环,则可以将
prime
函数修改为:

[2, 3, 5, 7]

请参阅此链接:删除
,而上限>=2:
,则不需要此链接
对于范围(2,上限+1)中的num:
正在做这项工作。另外,
如果num==upper:break不需要部分。这对我有帮助,但是我可以问一下,这个代码在[Number,2Number%Number]中返回2的目的是什么吗**这只是我在互联网上找到的一个函数。我不知道它的逻辑。答案中给出的链接中还有其他功能。如果找不到该链接,请单击。I gues,这种方式有点问题,链接中的评论很差。我选择它是因为它很短。您可以使用另一个
is_prime
函数。@TwisterJoe我编辑了我的答案。您可以使用新的
is_prime
功能。
def is_prime(Number):
    return 2 in [Number, 2**Number%Number]

def prime(upper):
    print([num for num in range(2, upper + 1) if is_prime(num)])

prime(7)
[2, 3, 5, 7]
def prime(upper):
    num = 2
    while num <= upper:
        if is_prime(num):
            print(num, end = ",")
        num += 1
2,3,5,7,