python题:打印出1000以内的所有素数,并统计素数的个数。
时间: 2024-09-23 09:15:45 浏览: 117
蓝桥杯python真题解析
5星 · 资源好评率100%
在Python中,我们可以编写一个函数来找出并打印1000以内的所有素数,并同时计算素数的数量。素数是指大于1的自然数,除了1和它本身以外不再有其他因数。以下是实现这个功能的一个简单示例:
```python
def is_prime(n):
if n <= 1:
return False
for i in range(2, int(n**0.5) + 1): # 遍历到n的平方根即可,因为因子不会超过n的平方根
if n % i == 0:
return False
return True
def print_and_count_primes(limit=1000):
count = 0
primes = []
for num in range(2, limit+1):
if is_prime(num):
primes.append(num)
count += 1
print(f"{num} 是素数")
print(f"共有 {count} 个素数")
print_and_count_primes()
```
在这个程序中,我们首先定义了一个辅助函数`is_prime()`用于检查一个数字是否为素数。然后,在`print_and_count_primes()`函数里,我们遍历2到给定限制`limit`的所有数字,如果该数字是素数,我们就将其添加到列表`primes`中,并增加计数器`count`。最后,打印出素数列表和素数总数。
阅读全文