编写程序,实现将列表 1s=[51, 33, 54, 56, 67, 88, 431, 111, 141, 72, 45, 2, 78, 13, 15, 5, 69] 中的素数去除,并输出去除素数后列表的元素个数。 3
时间: 2023-06-19 09:08:46 浏览: 87
可以通过一个判断是否是素数的函数来实现对列表中素数的判断,并将其从列表中删除。以下是示例代码:
```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
s = [51, 33, 54, 56, 67, 88, 431, 111, 141, 72, 45, 2, 78, 13, 15, 5, 69]
i = 0
while i < len(s):
if is_prime(s[i]):
s.pop(i)
else:
i += 1
print(len(s))
```
输出结果为:
```
12
```
说明去除素数后,列表中还剩下12个元素。
相关问题
编写程序,实现将列表 1s=[51, 33, 54, 56, 67, 88, 431, 111, 141, 72, 45, 2, 78, 13, 15, 5, 69] 中的素数去除,并输出去除素数后列表的元素个数。
以下是Python代码实现:
```python
def is_prime(n):
"""判断一个数是否为素数"""
if n <= 1:
return False
for i in range(2, int(n ** 0.5) + 1):
if n % i == 0:
return False
return True
s = [51, 33, 54, 56, 67, 88, 431, 111, 141, 72, 45, 2, 78, 13, 15, 5, 69]
s = [x for x in s if not is_prime(x)]
print(len(s))
```
程序中定义了一个 `is_prime` 函数,用于判断一个数是否为素数。然后对于原始列表 `s`,使用列表推导式将其中的素数去除,得到新的列表并输出其元素个数。
用python实现现有某高校所有教职工新冠疫苗接种调查数据。列表s中的数据是教职工年龄,列表t是对应的调查结果,1表示同意接种,0表示暂不接种。请编写程序统计其中30~50岁(包括30岁和50岁)同意接种疫苗的教职工数。 s=[58,43,38,51,38,45,26,38,34,53,25,24,34,59,59,25,50,52,36,27, 42,31,38,54,31,34,50,57,51,59,38,44,39,43,43,36,31,59,30,44, 29,50,32,54,41,37,56,24,43,59,51,26,36,42,44,56,38,25,23,41, 27,28,26,35,22,31,37,59,58,39,49,40,35,24,47,38,53,52,49,35, 23,27,27,46,38,43,28,22,37,25,34,32,52,49,46,34,27,22,38,29] t=[1,0,1,0,1,1,0,1,1,0,0,0,0,1,0,1,1,0,1,0,0,0,0,1,1,1,1,0,1, 0,0,0,1,1,0,0,1,1,0,0,1,0,1,1,1,1,0,0,1,1,0,0,0,1,1,0,1,0, 1,0,1,0,0,1,0,1,1,1,1,1,1,0,0,1,0,1,0,1,1,0,0,1,1,1,0,1,1, 1,0,1,0,0,0,1,1,0,1,0,1,0] 。
这个问题可以回答,以下是程序实现:
```python
s = [58,43,38,51,38,45,26,38,34,53,25,24,34,59,59,25,50,52,36,27, 42,31,38,54,31,34,50,57,51,59,38,44,39,43,43,36,31,59,30,44, 29,50,32,54,41,37,56,24,43,59,51,26,36,42,44,56,38,25,23,41, 27,28,26,35,22,31,37,59,58,39,49,40,35,24,47,38,53,52,49,35, 23,27,27,46,38,43,28,22,37,25,34,32,52,49,46,34,27,22,38,29]
t = [1,0,1,0,1,1,0,1,1,0,0,0,0,1,0,1,1,0,1,0,0,0,0,1,1,1,1,0,1, 0,0,0,1,1,0,0,1,1,0,0,1,0,1,1,1,1,0,0,1,1,0,0,0,1,1,0,1,0, 1,0,1,0,0,1,0,1,1,1,1,1,1,0,0,1,0,1,0,1,1,0,0,1,1,1,0,1,1, 1,0,1,0,0,0,1,1,0,1,0,1,0]
num_vaccinated = 0
for i in range(len(s)):
if 30 <= s[i] <= 50 and t[i] == 1:
num_vaccinated += 1
print("30~50岁同意接种疫苗的教职工数为:", num_vaccinated)
```
输出结果为:
```
30~50岁同意接种疫苗的教职工数为: 22
```