利用enumerate方法编写程序,输入一个大于2 的自然数,然后输出小于该数字的所有素数组成的列表
时间: 2023-11-18 17:58:14 浏览: 100
```python
n = int(input("请输入一个大于2的自然数:"))
primes = []
for i in range(2, n):
is_prime = True
for j in range(2, int(i ** 0.5) + 1):
if i % j == 0:
is_prime = False
break
if is_prime:
primes.append(i)
print(primes)
```
使用enumerate方法:
```python
n = int(input("请输入一个大于2的自然数:"))
primes = []
for i in range(2, n):
is_prime = True
for j in range(2, int(i ** 0.5) + 1):
if i % j == 0:
is_prime = False
break
if is_prime:
primes.append(i)
for index, prime in enumerate(primes):
print(f"{index + 1}. {prime}")
```
相关问题
利用enumerate方法和filter编写程序,输入一个大于2 的自然数,然后输出小于该数字的所有素数组成的列表
num = int(input("请输入一个大于2的自然数:"))
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
prime_list = list(filter(lambda x: is_prime(x), range(2, num)))
print(prime_list)
运用内置函数enumerate,运用内置函数filer编写程序,输入一个大于2的自然数,然后输出小于该数字的所有素数组成的列表。
当然可以,我们可以使用Python的内置函数`enumerate()`遍历输入数字的因子,并结合`filter()`函数筛选出素数。以下是实现这一功能的一个示例程序:
```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 find_primes(n):
"""找出小于n的所有素数"""
primes = [i for i, v in enumerate(range(2, n)) if is_prime(v)]
return primes
# 输入一个大于2的自然数
input_num = int(input("请输入一个大于2的自然数: "))
primes_list = find_primes(input_num)
print(f"小于{input_num}的所有素数是: {primes_list}")
阅读全文