文件统计素数个数并输出

在number.txt文件中放有若干个不小于2的正整数(数据间以逗号分隔)编写程序实现:读取文件统计这些整数中的素数个数并把他们输出。(number bt文件请先自己创建)


def is_prime(n):
    """判断一个数是否为素数"""
    if n < 2:
        return False
    for i in range(2, int(n**0.5)+1):
        if n % i == 0:
            return False
    return True

with open('number.txt', 'r') as f:
    num_str = f.read().strip()
    nums = num_str.split(',')
    primes = [int(num) for num in nums if is_prime(int(num))]
    print('素数个数:', len(primes))
    print('素数列表:', primes)

首先定义了一个 is_prime() 函数,用于判断一个数是否为素数。然后使用 with 语句打开 number.txt 文件并读取其中的整数。使用 split() 函数将字符串分割成单个数字,并使用列表推导式循环遍历每个数字,将素数加入到 primes 列表中。最后输出素数的个数和列表。

希望这可以帮助你