用Python写出键盘输出n个大于零的整型数据,编程输出其中所有的素数及素数的个数
时间: 2024-02-18 11:06:03 浏览: 123
可以使用以下代码实现:
```python
import math
n = int(input("请输入数字个数:"))
nums = []
for i in range(n):
num = int(input("请输入第%d个数字:" % (i + 1)))
if num > 0:
nums.append(num)
# 判断是否为素数
def is_prime(num):
if num == 1:
return False
for i in range(2, int(math.sqrt(num)) + 1):
if num % i == 0:
return False
return True
prime_nums = []
for num in nums:
if is_prime(num):
prime_nums.append(num)
print("所有素数为:", prime_nums)
print("素数个数为:", len(prime_nums))
```
解释一下代码:
首先通过输入获取用户输入的数字个数和每个数字,将大于零的数字添加到列表 `nums` 中。
然后定义一个函数 `is_prime`,用于判断一个数字是否为素数。判断方法是利用了素数的定义:只能被 1 和本身整除。具体实现是从 2 到该数的平方根遍历每个数,如果能被整除,则该数不是素数。
最后遍历 `nums` 列表中的每个数字,判断是否为素数,如果是,则添加到 `prime_nums` 列表中。输出所有素数和素数个数。
阅读全文