马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
本帖最后由 15271953841 于 2024-2-4 10:31 编辑
Python 3.12.1 (tags/v3.12.1:2305ca5, Dec 7 2023, 22:03:25) [MSC v.1937 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license()" for more information.
i=0
while i<10:
i += 1
if i%2 == 0:
continue
print(i)
1
3
5
7
9
Continue语句跳出本次循环,回到循环体的开头;break语句则是跳出循环体,执行完后面的语句。
再看else语句,当条件不再为True时,就开始执行else语句。
以下在编辑模式编辑程序,在交互模式下查看结果:
i=1
while i<5:
print("循环内,i的值是",i)
i+=1
else:
print("循环外,i的值是",i)
循环内,i的值是 1
循环内,i的值是 2
循环内,i的值是 3
循环内,i的值是 4
循环外,i的值是 5
当循环条件不再为真的时,else语句才会被执行。
i = 1
while i < 5:
print("循环内,i的值是",i)
i += 1
print("循环外,i的值是",i)
循环内,i的值是 1
循环内,i的值是 2
循环内,i的值是 3
循环内,i的值是 4
循环外,i的值是 5
使用break语句跳出循环,是中途跳出的,这时循环条件依旧为真的,所以用break语句跳出来,else语句并不会被执行。例如:
i=1
while i<5:
print("循环内,i的值是",i)
if i == 2:
break
i += 1
else:
print("循环外,i的值是",i)
循环内,i的值是 1
循环内,i的值是 2
那么,请大家考虑,while,else这样的设计有什么实质上的作用呢?
其实最显而易见的作用是,可以非常容易的检测到循环退出的状况。比如每周7天打卡的小程序:
day = 1
while day <= 7:
answer = input("今天有好好学习吗?")
if answer != "有":
break
day += 1
else:
print("非常棒,你已经坚持了7天继续学习!")
今天有好好学习吗?有
今天有好好学习吗?有
今天有好好学习吗?有
今天有好好学习吗?有
今天有好好学习吗?有
今天有好好学习吗?有
今天有好好学习吗?有
非常棒,你已经坚持了7天继续学习!
再run执行一遍
今天有好好学习吗?有
今天有好好学习吗?有
今天有好好学习吗?有吧
再看循环结构的嵌套(nested loop),循环也可玩嵌套,而且玩的更溜,有时我们的需求可能要用不止一层循环来实现,比如要打印一个九九乘法表:
i=1
while i<=9:
j=1
while j<=i:
print(j,"*",i,"=",j*i,end=" ")
j += 1
print()
i += 1
1 * 1 = 1
1 * 2 = 2 2 * 2 = 4
1 * 3 = 3 2 * 3 = 6 3 * 3 = 9
1 * 4 = 4 2 * 4 = 8 3 * 4 = 12 4 * 4 = 16
1 * 5 = 5 2 * 5 = 10 3 * 5 = 15 4 * 5 = 20 5 * 5 = 25
1 * 6 = 6 2 * 6 = 12 3 * 6 = 18 4 * 6 = 24 5 * 6 = 30 6 * 6 = 36
1 * 7 = 7 2 * 7 = 14 3 * 7 = 21 4 * 7 = 28 5 * 7 = 35 6 * 7 = 42 7 * 7 = 49
1 * 8 = 8 2 * 8 = 16 3 * 8 = 24 4 * 8 = 32 5 * 8 = 40 6 * 8 = 48 7 * 8 = 56 8 * 8 = 64
1 * 9 = 9 2 * 9 = 18 3 * 9 = 27 4 * 9 = 36 5 * 9 = 45 6 * 9 = 54 7 * 9 = 63 8 * 9 = 72 9 * 9 = 81
提示:显示时,如果一行不够长,要将互动模式窗口拉长一点。
无论是break语句,还是continue语句,它们都只能作用于一层循环体。
day = 1
hour = 1
while day <= 7:
while hour <= 8:
print("今天,我一定要坚持学习8个小时!")
hour += 1
if hour >1:
break
day += 1
今天,我一定要坚持学习8个小时!
今天,我一定要坚持学习8个小时!
今天,我一定要坚持学习8个小时!
今天,我一定要坚持学习8个小时!
今天,我一定要坚持学习8个小时!
今天,我一定要坚持学习8个小时!
今天,我一定要坚持学习8个小时!
|