python必备知识点之循环结构

1. 什么是循环

定义:循环是一种控制流语句,它允许你重复执行一段代码块直到满足某个条件为止。

2. 循环的分类

在Python中,提供的循环分为两大类:while循环与for循环

  • 对于循环次数已知的情况,建议使用while循环

  • 对于循环次数未知的情况,建议使用for循环

3. while循环结构

使用语法格式如下所示:

# ① 定义一个计数器(初始化一个计数器)
i = 0 或 1
# ② 编写while循环结构
while 循环条件(判断计数器是否达到了目标位置):
  循环体1
  循环体2
  ...
  # ③ 在循环内部更新计数器
  i = i + 1 或 i += 1

对以上格式说明:

  • 在计算机程序中,计数器大部分都是从0开始的。

  • 循环条件:循环条件(条件表达式)为真的情况下,会执行相应的代码块。并且只要条件表达式为真,while 就会一直重复执行那段代码块(或叫循环体)。注意:一定要保证循环条件有变成假的时候,否则这个循环将成为一个死循环。

  • 循环体:指的是具有相同缩进格式(缩进量)的多行代码。

  • 总结:while循环三步走

    ① 初始化计数器

    ② 编写循环条件(判断计数器是否达到了目标位置)

    ③ 在循环内部更新计数器

例:

# ① 定义计数器(初始化计数器)
i = 0
j = 5
# ② 编写while循环结构
while i < j: #(判断计数器是否达到了目标位置):
    print("欢迎来到一笑的博客!")
 # 在循环内部更新计数器
    i = i + 1

运行结果:

注意:在while中一定要注意缩进的问题

例:

i = 1
result = 0
while i <= 100:
    if i % 2 == 0:
        result += i
        i += 1
print(f'1~100之间所有偶数的和:{result}')

实例中i += 1 由于缩进了一个Tab键导致整个循环陷入了死循环。

修改:

i = 1
result = 0
while i <= 100:
    if i % 2 == 0:
        result += i
    i += 1
print(f'1~100之间所有偶数的和:{result}')

运行结果:

3.1 while死循环

死循环顾名思义,就是没有终止的循环结果,会一直运行下去。

在python中我们可以使用while循环语句来主动模拟一个死循环

while True:
    print('hello!')

可以使用time模块的内置方法来延缓循环的速度(按自己的需求来)

import time
while True:
    print('hello!')
    time.sleep(2)

3.2 while循环嵌套

所谓的while嵌套循环就是在while循环的基础上,在加入一层while循环,就组成了while嵌套循环。

# 第一步:初始化外层循环计数器
i = 1
# 第二步:编写外层循环的条件
while i <= 3:
    # 第四步:初始化内层循环计数器
    j = 1
    # 第五步:编写内层循环的条件
    while j <= 3:
        循环体代码
      # 第六步:更新内层循环计数器
      j += 1
    # 第三步:更新外层循环计数器
    i += 1

例(九九乘法表):

# 初始化外层循环计数器
i = 1
# 编写外层的循环条件
while i <= 9:
    # 初始化内层循环计数器
    j = 1
    # 编写内层的循环条件
    while j <= i:
        print(f'{j} x {i} = {i * j}', end='  ')
        # 更新内层循环的计数器
        j += 1
    print('')
    # 更新外层循环计数器
    i += 1

运行结果:

4. for循环结构

for 循环,通常用于遍历序列类型(字符串、列表、元组、集合、字典),逐个获取序列中的各个元素。

for循环功能非常强大,可以自动判断序列的长度,长度为多少,则for循环就循环多少次。

每次循环时,系统会自动将序列中的每个元素赋值给变量i,赋值完成后,for循环内部会自动更新计数器,向后移动一位,继续循环,直至元素全部循环结束。

使用语法格式如下所示:

for 迭代变量 in 字符串或列表或元组或集合或字典:
    代码块

对以上格式说明,

  • 迭代变量:用于存放从序列类型变量中读取出来的元素。

  • 代码块:又叫循环体,指的是具有相同缩进格式(缩进量)的多行代码。

4.1 range()函数

Python2版本中 range() 函数返回的是列表,

而在Python3版本中 range() 函数返回的是一个可迭代对象(类型是对象),而不是列表类型, 所以打印的时候不会打印列表。(可以简单的将其理解为一个序列结构)

主要作用:用于生成一段连续的内容,从0到9

基本语法格式:

range(stop)
range(start, stop[, step])
说明:
  • start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);

  • stop: 计数到 stop 结束,但不包括 stop。例如:range(0,5) 是 [0, 1, 2, 3, 4] 没有 5;

  • step:步长,默认为1。例如:range(0,5) 等价于 range(0, 5, 1)。

例:

for i in range(5):  #循环5次
    print(i)

4.2 for循环嵌套

for循环嵌套,指的是一个for循环里面嵌套另外一个for循环的写法。

当循环结构相互嵌套时,位于外层的循环结构常简称为外层循环或外循环,位于内层的循环结构常简称为内层循环或内循环。

基本语法格式:

# 外层循环
for i in 序列1:
    # 内层循环
    for j in 序列2:
        循环体

例(九九乘法表):

for i in range(1, 10):
    for j in range(1, i+1):
        print(f'{j} x {i} = {i * j}', end='  ')
    # 打印换行符
    print('')

运行结果:

5. break和continue关键字

在Python循环中,经常会遇到两个常见的关键词:break 与 continue

break:代表终止整个循环结构

continue:代表中止当前本次循环,继续下一次循环

5.1 break语句

在while循环中

例:

# 初始化计数器
i = 1
# 编写循环条件
while i <= 5:
    # 当变量i == 3的时候,终止循环
    if i == 3:
        print('我已经吃饱了,实在吃不下了...')
        break
    # 正在吃第几个饭
    print(f'正在吃第{i}碗饭')
    # 更新计数器
    i += 1

运行结果:

在for循环中

# 编写循环条件
for i in range(1,5):
    # 当变量i == 3的时候,中止当前循环,继续下一次循环
    if i == 3:
        # 手工更新计数器(非常重要) 不然会出现死循环
        i += 1
        print('吃饱了,吃不下了...')
        break

    print(f'正在吃第{i}碗饭')
    # 更新计数器
    i += 1

运行结果:

5.2 continue语句

在while循环中

例:

# 初始化计数器
i = 1
# 编写循环条件
while i <= 5:
    # 当变量i == 3的时候,中止当前循环,继续下一次循环
    if i == 3:
        # 手工更新计数器(非常重要) 不然会出现死循环
        i += 1
        print('掉进来一直虫子,这碗不吃了...')
        continue

    print(f'正在吃第{i}碗饭')
    # 更新计数器
    i += 1

运行结果:

在for循环中

# 编写循环条件
for i in range(1,5):
    # 当变量i == 3的时候,中止当前循环,继续下一次循环
    if i == 3:
        # 手工更新计数器(非常重要) 不然会出现死循环
        i += 1
        print('掉进来一直虫子,这碗不吃了...')
        continue

    print(f'正在吃第{i}碗饭')
    # 更新计数器
    i += 1

运行结果:

6. 小结

        循环的应用范围非常宽广,基本会融入到各个项目中,while循环与for循环的灵活使用可以大大减轻我们的代码工作量,达到事半功倍的效果。

  • 26
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值