You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python作业:如何从指定列表中筛选并打印所有质数?

如何从给定列表中筛选并打印质数?

嘿,这个需求其实很好实现,核心就两步:先搞懂怎么判断一个数是不是质数,再用这个判断逻辑去遍历你的列表,把符合条件的数挑出来打印就行。咱们一步步来拆解:

第一步:明确质数的定义

首先得拎清楚,质数是大于1的自然数,且只能被1和它自身整除。所以列表里的1直接就能排除,它不是质数。

第二步:写一个判断质数的辅助函数

咱们先写个小函数is_prime(n),用来单独判断某个数字是否为质数,这样后面遍历列表的时候直接调用就行:

def is_prime(n):
    # 小于等于1的数都不是质数
    if n <= 1:
        return False
    # 2是唯一的偶质数,直接返回True
    if n == 2:
        return True
    # 除了2之外的偶数都不是质数
    if n % 2 == 0:
        return False
    # 从3开始只检查奇数,到n的平方根就够了(优化判断效率)
    max_divisor = int(n**0.5) + 1
    for d in range(3, max_divisor, 2):
        if n % d == 0:
            return False
    return True

第三步:遍历列表筛选并打印质数

有了判断函数,接下来就可以遍历你的Numbers列表,把质数挑出来打印了:

Numbers = [1,3,4,5,15,48,73]
# 用列表推导式筛选出所有质数
prime_numbers = [num for num in Numbers if is_prime(num)]
# 打印结果
print("列表中的质数是:", prime_numbers)

运行结果

执行上面的代码后,你会得到输出:

列表中的质数是: [3, 5, 73]

如果你想逐个打印每个质数,也可以改成循环直接输出:

for num in Numbers:
    if is_prime(num):
        print(num)

这样就会依次输出3、5、73啦。

内容的提问来源于stack exchange,提问作者Victor Dimitrov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 04:10:17