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循环的灵活使用可以大大减轻我们的代码工作量,达到事半功倍的效果。

    作者:ઈ一笑ഒ

    物联沃分享整理
    物联沃-IOTWORD物联网 » python必备知识点之循环结构

    发表回复