Python:data.txt中存储了一系列整型数据,请判断这些整型数据是否是素数,请将这些素数写入文件prime.txt中。要求: (1) 请编写判断一个整数是否是素数的函数isPrime( ),在主程序中调用该函数。 (2) data.txt中的数据可能有重复,写入prime.txt的数据不能有重复。
时间: 2024-03-21 13:41:24 浏览: 92
好的,我可以帮你解决这个问题。
以下是 Python 代码实现:
```python
# 判断一个整数是否是素数的函数
def isPrime(n):
if n <= 1:
return False
for i in range(2, int(n**0.5)+1):
if n % i == 0:
return False
return True
# 读取 data.txt 文件中的数据
with open('data.txt', 'r') as f:
data = f.readlines()
# 将数据转换成整型并去重
data = list(set(map(int, data)))
# 判断每个整数是否是素数并将素数写入 prime.txt 文件中
with open('prime.txt', 'w') as f:
for num in data:
if isPrime(num):
f.write(str(num) + '\n')
```
说明:
1. 首先定义了一个 `isPrime(n)` 函数,用于判断一个整数是否是素数。该函数使用了常见的素数判断方法,即从 2 到 $\sqrt{n}$ 之间的整数依次判断是否为 n 的因子,如果存在因子则 n 不是素数,否则 n 是素数。
2. 读取 `data.txt` 文件中的数据,并使用 `set()` 去重。
3. 遍历数据集 `data`,判断每个整数是否是素数,如果是素数则写入 `prime.txt` 文件中。
4. 注意写入文件时需要加上换行符 `\n`。
希望这个代码可以帮到你,有问题可以随时问我。
阅读全文