区别:
- 满足continue语句的执行条件时, 对当前值不再继续执行其他步骤, 重新执行离该条件最近的循环.
- 满足break执行条件,直接中断离该条件最近的循环.
============================================
下面以打印30以内所有的素数为例, 展示全部判断过程.
当i=15(25)时进入条件1,满足continue语句的执行条件.于是跳过该值, 重新执行离该条件最近的循环(本题中为for循环)
当i=9(27)时, i可以被j整除,满足break执行条件,直接中断离该条件最近的循环(本题中为j循环) 从for循环重新带入i值.
以下是代码部分:
for i in range(3,30,2):
print('新循环开始,对i值'+str(i)+'进行判断')
if i>10 and i%10 == 5:
print('这是符合条件1的i值:'+str(i))
continue
else:
print(str(i)+'进入else中')
for j in range(2,int(i**0.5+1)):
print('for循环开始依次给i带j值:'+str(j))
if i%j == 0:
print(str(i)+'可以被整除,break')
break
else:
print(str(i)+'无法被j整除,是质数无疑了')
print(i)
print('一整趟结束')
print('--------')
终端显示如下:
================ RESTART ================
新循环开始,对i值3进行判断
3进入else中
3无法被j整除,是质数无疑了
3
一整趟结束
--------
新循环开始,对i值5进行判断
5进入else中
for循环开始依次给i带j值:2
5无法被j整除,是质数无疑了
5
一整趟结束
--------
新循环开始,对i值7进行判断
7进入else中
for循环开始依次给i带j值:2
7无法被j整除,是质数无疑了
7
一整趟结束
--------
新循环开始,对i值9进行判断
9进入else中
for循环开始依次给i带j值:2
for循环开始依次给i带j值:3
9可以被整除,break
新循环开始,对i值11进行判断
11进入else中
for循环开始依次给i带j值:2
for循环开始依次给i带j值:3
11无法被j整除,是质数无疑了
11
一整趟结束
--------
新循环开始,对i值13进行判断
13进入else中
for循环开始依次给i带j值:2
for循环开始依次给i带j值:3
13无法被j整除,是质数无疑了
13
一整趟结束
--------
新循环开始,对i值15进行判断
这是符合条件1的i值:15
新循环开始,对i值17进行判断
17进入else中
for循环开始依次给i带j值:2
for循环开始依次给i带j值:3
for循环开始依次给i带j值:4
17无法被j整除,是质数无疑了
17
一整趟结束
--------
新循环开始,对i值19进行判断
19进入else中
for循环开始依次给i带j值:2
for循环开始依次给i带j值:3
for循环开始依次给i带j值:4
19无法被j整除,是质数无疑了
19
一整趟结束
--------
新循环开始,对i值21进行判断
21进入else中
for循环开始依次给i带j值:2
for循环开始依次给i带j值:3
21可以被整除,break
新循环开始,对i值23进行判断
23进入else中
for循环开始依次给i带j值:2
for循环开始依次给i带j值:3
for循环开始依次给i带j值:4
23无法被j整除,是质数无疑了
23
一整趟结束
--------
新循环开始,对i值25进行判断
这是符合条件1的i值:25
新循环开始,对i值27进行判断
27进入else中
for循环开始依次给i带j值:2
for循环开始依次给i带j值:3
27可以被整除,break
新循环开始,对i值29进行判断
29进入else中
for循环开始依次给i带j值:2
for循环开始依次给i带j值:3
for循环开始依次给i带j值:4
for循环开始依次给i带j值:5
29无法被j整除,是质数无疑了
29
一整趟结束
--------