day10_loop

本文介绍了Python中的循环结构,包括while循环和for循环的使用,强调了range()函数在循环中的作用。同时,讲解了循环的中断控制,如break用于完全退出循环,continue用于跳过当前循环轮次。还提到了循环的嵌套以及break和continue在嵌套循环中的影响。最后,通过实例展示了如何使用这些控制结构来解决实际问题,如计算奇数和打印乘法口诀表。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

day10_loop

循环

用来处理一些重复的任务。

python提供两种循环方式:while/for

基本操作

while

condition = True
while condition:
    print("只要condition为真,就执行这里面的代码")
    condition = False

print("因为condition被赋值为false了,所以循环结束,执行外层代码")

while执行流程:

  1. 判断condition是否为true

  2. 如果为true,执行内部代码,否则不执行

  3. 当内部代码执行完成之后,再次运行执行 1,2的步骤,直到condition为False

while-else

while condition:
	print("如果condition为True,则执行这里的代码")
elseprint("如果condition为False,则执行这里的代码")

while-else有点类似高级的if-else结构

注意:else结构里的代码,只有当condition为False时,才会执行。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-s4UgHAgH-1631705893452)(./img/day10_while_else.png)]

如上图,因为循环是由break跳出的循环,condition的值不为false,所以并没有执行else语句块里的内容

可以看到,当condition==0时(隐式转换,0的boolean值为False),此时并没有再次进入循环体,而是跳入了else语句块中,然后才结束整个while-else块。

for

for i in range(10):
	print(i)
# 使用到了in关键字和range()函数

for循环被用于遍历序列(字符串,列表,字典,元组,集合等)

in 是用来比较包含关系的,a in b表示判断a是否在b当中,当b为字符串时,判断的是a是否是b的子集,当b为列表集合等时,判断的则是a是否为b的元素。

当这个结构用在for上面时,就起到了遍历序列的效果。

for 特例:遍历字典

字典存放的是键值对的数据,所以在使用for遍历时,需要特别注意自己取到的值

通过上面的代码,可以很清晰的看到,默认遍历的到的值是字典中key的值,但是可以通过字典的items方法,来获取字典的key值和value值,然后同时赋值给key和value变量,这样一次性就遍历出了字典的全部数据。

range()

target = 10
i = range(target)
print(i)

range()用来返回一个数字序列,默认从0开始,步长为1,最大值比target小1

高级用法:

range(start, stop, step)

中断

细心的朋友应该有看到,在while循环的时候又一个break。这个break的作用就是用来结束一层循环的。

在日常生活中我们会碰到两种情况:

  1. 正在看书,但是累了,所以停下来休息一会儿,然后接着看。
  2. 正在看书,但是到点吃饭了,所以就停止看书,去吃饭了。

循环里面也有类似的需求,所以就有了中断,在python里使用continue和break来应付着两种情况

# 计算 从0到10的奇数的和
count = 0
start = 1
while True:
    if start % 2 == 0:
        if start == 10:
            break
        start += 1
        continue
    
    count += start
    print("start is:",start)
    start += 1
print(count)

很明显,continue就是用来停止一轮循环的,当遇到continue之后,循环会立即停止这一轮循环,并重新开始。

break 是用来停止整个循环用的。

循环的嵌套

和if-else一样,循环也可以嵌套使用,这个并没有什么好说的,但是,有一点需要注意,那就是break和continue的作用域。

break和continue只用作用在对应的循环层

存在多层嵌套时,内部一层的循环中,出现了break或continue,此时break和continue只能影响内部层的循环。

在上面使用两层for嵌套来打印乘法口诀表。

在第二层的for循环中有break,但是并没有影响到第一层的for循环

ue,此时break和continue只能影响内部层的循环。

[外链图片转存中…(img-t7O0ArVa-1631705893464)]

在上面使用两层for嵌套来打印乘法口诀表。

在第二层的for循环中有break,但是并没有影响到第一层的for循环

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值