编写程序,任意输入20个2~500之内的数放在一列表里,删除列表中的所有素数并输出
时间: 2024-10-23 19:15:47 浏览: 29
基于jupyter notebook的python编程—–使用列表实现筛选法求素数(输入一个大于 2 的自然数,然后输出小于该数字的所有素数组成的列表)
5星 · 资源好评率100%
为了编写这样一个程序,你可以使用Python语言来完成这个任务。首先,我们需要创建一个函数来判断一个数是否为素数,然后遍历用户输入的列表,过滤出非素数并将它们保留下来。以下是详细的步骤:
```python
def is_prime(num):
if num < 2:
return False
for i in range(2, int(num**0.5) + 1):
if num % i == 0:
return False
return True
def remove_primes(numbers_list):
non_primes = [num for num in numbers_list if not is_prime(num)]
return non_primes
# 获取用户输入
input_numbers = []
for _ in range(20):
user_input = int(input("请输入一个2到500之间的数(或输入q退出): "))
if user_input >= 2 and user_input <= 500:
input_numbers.append(user_input)
elif user_input.lower() == 'q':
break
else:
print("输入值不在范围内,请重新输入。")
# 删除素数并输出结果
filtered_numbers = remove_primes(input_numbers)
print("原列表中的非素数是:", filtered_numbers)
#
阅读全文