用python输入一系列正整数 筛选出其中的素数。
时间: 2024-05-02 13:22:19 浏览: 80
以下是一个简单的 Python 代码示例,用于筛选输入的一系列正整数中的素数:
```python
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
# 输入一系列正整数,用空格分隔
nums = input("请输入一系列正整数,用空格分隔:").split()
# 筛选素数
primes = []
for num in nums:
if is_prime(int(num)):
primes.append(num)
# 输出素数
print("筛选出的素数为:", primes)
```
使用示例:
```
请输入一系列正整数,用空格分隔:2 3 4 5 6 7 8 9
筛选出的素数为: ['2', '3', '5', '7']
```
在上面的代码中,我们定义了一个 `is_prime` 函数来判断一个数是否为素数。然后,我们输入一系列正整数并将它们存储在一个列表中。我们使用一个 `for` 循环来遍历列表,并使用 `is_prime` 函数来检查每个数字是否为素数。如果是素数,我们将其添加到一个新列表 `primes` 中。最后,我们输出 `primes` 列表中的素数。
相关问题
一个正整数若只能被1和自身整除,编写程序,输入一系列正整数,筛选出其中的素数。用python
代码如下:
```
while True: # 循环输入正整数
try:
num = int(input("请输入一个正整数(输入0结束):"))
if num == 0: # 输入0时结束循环
break
elif num == 1: # 排除1
continue
else:
flag = True # 标记是否为素数
for i in range(2, int(num ** 0.5) + 1): # 判断是否为素数
if num % i == 0:
flag = False
break
if flag: # 输出素数
print(num, "是素数")
except ValueError: # 处理输入非正整数的情况
print("输入错误,请重新输入")
```
运行结果如下:
```
请输入一个正整数(输入0结束):-1
输入错误,请重新输入
请输入一个正整数(输入0结束):10
请输入一个正整数(输入0结束):13
13 是素数
请输入一个正整数(输入0结束):27
请输入一个正整数(输入0结束):31
31 是素数
请输入一个正整数(输入0结束):0
```
一个正整数若只能被1和自身整除,编写程序,输入一系列正整数,筛选出其中的素数。用python实现
```python
def is_prime(num):
if num < 2:
return False
elif num == 2:
return True
else:
for i in range(2, int(num**0.5)+1):
if num % i == 0:
return False
return True
# 测试输入
lst = [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
# 筛选素数
prime_lst = []
for num in lst:
if is_prime(num):
prime_lst.append(num)
# 输出结果
print(prime_lst)
```
输出结果为 `[2, 3, 5, 7, 11, 13, 17, 19]`。
阅读全文