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

统计列表质数数量的Python函数运行无输出,代码存在什么问题?

代码错误点说明
  • 直接导致无输出的核心问题:a_list == nums 使用了双等号比较运算符,没有完成赋值操作,a_list 始终是空列表,后续的for循环根本不会执行,自然不会有打印输出。
  • 语法错误:if a_list % 2 == 0 尝试对整个列表做取余运算,Python不支持该操作,就算循环能执行也会直接报错。
  • 质数判断逻辑完全错误:当前代码仅判断是否为偶数,不符合质数定义(大于1的自然数,除了1和自身外没有其他正因数),且除了2之外的偶数都不是质数,逻辑方向完全错误。
  • 变量使用混乱:primes 初始化为整数0,后续执行primes = primes + a_list 尝试整数和列表相加,属于类型不匹配错误;listing == len(primes) 又错误使用比较运算符而非赋值运算符,且整数类型没有len()方法,运行会直接报错。
  • 缺少函数调用逻辑:仅定义了count_primes函数,没有主动调用的代码,就算内部逻辑正确也不会生成运行结果。
修正后可运行代码
def count_primes(nums):
    def is_prime(n):
        # 小于2的数都不是质数
        if n < 2:
            return False
        # 遍历到平方根即可判断是否有其他因数
        for i in range(2, int(n**0.5) + 1):
            if n % i == 0:
                return False
        return True
    prime_count = 0
    for num in nums:
        if is_prime(num):
            prime_count += 1
    return prime_count

# 调用示例
test_nums = [2,3,4,5,6,7,8,9,10]
print(count_primes(test_nums))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 06:24:05