在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 列表中。最后输出素数的个数和列表。
希望这可以帮助你