用Python写出键盘输出n个大于零的整型数据,编程输出其中所有的素数及素数的个数 不要使用函数
时间: 2024-02-18 17:06:03 浏览: 70
可以使用以下代码实现:
```python
import math
n = int(input("请输入数字个数:"))
nums = []
for i in range(n):
num = int(input("请输入第%d个数字:" % (i + 1)))
if num > 0:
nums.append(num)
prime_nums = []
for num in nums:
if num == 1:
continue
is_prime = True
for i in range(2, int(math.sqrt(num)) + 1):
if num % i == 0:
is_prime = False
break
if is_prime:
prime_nums.append(num)
print("所有素数为:", prime_nums)
print("素数个数为:", len(prime_nums))
```
解释一下代码:
与上面的代码类似,首先通过输入获取用户输入的数字个数和每个数字,将大于零的数字添加到列表 `nums` 中。
然后遍历 `nums` 列表中的每个数字,判断是否为素数。由于不使用函数,因此需要手动判断 1 是否为素数,然后对于每个数字,设置一个布尔变量 `is_prime` 初始值为 `True`,遍历 2 到该数的平方根的每个数,如果能被整除,则将 `is_prime` 设置为 `False`,并跳出循环。最后如果 `is_prime` 为 `True`,则该数为素数,添加到 `prime_nums` 列表中。
最后输出所有素数和素数个数。
阅读全文