Python:输出100以内的质数

代码如下:

primes = []
for num in range(2, 101):
    prime = True
    for prime_num in primes:
        if num % prime_num == 0:
            prime = False
            break
    if prime:
        primes.append(num)
        print(num)

这段 Python 代码的主要功能是找出 2 到 100 之间的所有素数(质数),并将这些素数存储在列表primes中,同时将每个素数打印输出。下面我们逐行来详细解释这段代码:

1. primes = []

这行代码创建了一个空列表primes,用于存储后续找到的素数。

2. for num in range(2, 101):

这是一个外层for循环,range(2, 101)会生成一个从 2 到 100(包括 2 但不包括 101)的整数序列。num会依次取这个序列中的每个值,即从 2 开始,每次递增 1,直到 99。

3. prime = True

在每次外层循环开始时,将布尔变量prime初始化为True。这个变量用于标记当前的num是否为素数,初始假设它是素数。

4. for prime_num in primes:

这是一个内层for循环,用于遍历已经找到的素数列表primes。当外层循环第一次执行时,primes列表为空,内层循环不会执行。随着外层循环的进行,primes列表会不断添加新的素数,内层循环会依次检查当前的num是否能被已找到的素数整除。

5. if num % prime_num == 0:

在内层循环中,使用取模运算符%来检查num是否能被当前的素数prime_num整除。如果num能被prime_num整除(即num % prime_num的结果为 0),说明num不是素数。

6. prime = False

如果num能被某个已找到的素数整除,将prime变量设置为False,表示num不是素数。

7. break

一旦发现num能被某个已找到的素数整除,使用break语句跳出内层循环,因为只要找到一个能整除num的数,就可以确定num不是素数,不需要再继续检查其他素数。

8. if prime:

当内层循环结束后,检查prime变量的值。如果prime仍然为True,说明num不能被已找到的任何素数整除,即num是素数。

9. primes.append(num)

如果num是素数,将其添加到primes列表中。

10. print(num)

同时,将这个素数打印输出。

这段代码通过两层循环,利用已经找到的素数来判断后续的数是否为素数,避免了对每个数进行从 2 到其平方根的全部检查,提高了效率。最终,primes列表中存储了 2 到 100 之间的所有素数,并且每个素数都会被打印出来。

觉得有帮助就给博主点个关注叭~~

有问题的可以私信或者在评论区一起交流

友友们一起加油叭QAQ

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值