Python AI开发(python篇)学习笔记 – 第三章 – 流程控制语句

第三章:流程控制

此文章是作者学习ai的完整笔记,在现在ai快速发展的时期,鼓励大家一起学习python!!!

路线图: Python >> 算法 >> Linux(Rocky、Ubuntu) >> 爬虫与数据分析 >> 机器学习 >> 高等数学 >> 大模型 …

目录

2.5 流程控制与循环语句

2.5.1 基础概念

控制代码执行顺序的语法结构.程序默认按从上到下的顺序逐行执行,而流程控制语句能让你根据条件选择执行某些代码块,或重复执行某段代码。

2.5.2 条件判断

1. if …else条件判断(分支结构)

Python条件语句是通过一条多条语句的执行结果(True或者False)来决定执行的代码块。

可以通过下图来简单了解条件语句的执行过程:

在这里插入图片描述

  • 语法

    if 判断条件:
        语句1
    else:
        语句2
    

    当if后面的条件成立时(True),执行语句1,若不成立,则执行else:语句2

  • 基本用法

    flag = False
    name = 'luren'
    
    if name == 'python':        # 判断变量是否为 "python" 
        flag = True             # 条件成立时设置标志为真(True)
        print 'welcome boss'    # 并输出欢迎信息
    else:
        print(name)   
    
    luren
    

    📌if 语句判断条件可以用 >(大于)、< (小于)、==(等于)、>=(大于等于)、<=(小于等于)、 (不等于)、innot in等等来表示其关系。

2. if…elif…else多条件判断(多分支结构)
  • 定义

    • 如果条件表达式1成立,则执行逻辑1
    • 否则如果条件表达式2成立,则执行逻辑2
    • 否则如果条件表达式3成立,则执行逻辑3
    • 如果所有的条件表达式都不成立,则执行逻辑4
  • 语法

    if 条件 表达式1 :
       逻辑1 :条件表达式1 成立时执行的语句逻辑
    elif 条件 表达式2 :
       逻辑2 :条件表达式2 成立时执行的语句逻辑
    elif 条件 表达式3 :
       逻辑3 :条件 表达式3  成立时执行的语句逻辑
    else:# 当所有的条件表达式都不成立时
       逻辑4 :当所有的条件表达式都 不成立 时执行的语句逻辑
    
  • 基本用法

    today = 4
    
    if today == 1:    # 条件不成立为False,执行下一个elif
        print("周一")
    elif today == 2:
        print("周二")
    elif today == 3:
        print("周三")
    else:
        print("周一周二周三之外的一天")  #  成立输出
    
    
    周一周二周三之外的一天
    
3. 其他条件用法
  • 嵌套用法

    if 条件判断1:
          if 条件判断2:
                当两个条件都成立时执行的代码
    
    nan = int(input("请输入男方的年龄:"))
    nu = int(input("请输入女方的年龄:"))
    if nan > 22:
        if nu > 20:
            print("可以结婚")
        else:
            print("不可以结婚")
    else:
        print("不可以结婚")
    
  • 组合条件

    • and(所有条件为
    • or(任意条件为
    • not(条件取反
    is_member = True
    purchase_amount = 150
     
    if  is_member and purchase_amount > 100 :
        print("享受会员8折优惠")
    elif purchase_amount > 100:
        print("享受普通9折优惠")
    else:
        print("无折扣")
    

    逻辑语句and左右均为**True,满足and条件(两个条件都为True,图中is_member'and'purchase_amountTrue,再判断 is_member'and'purchase_amount** > 100,如果成立则执行"享受会员8折优惠",不成立则执行下面elif等等

    • 例如

      num = 50
      if num > 100 or num < 0:
          print("这个数大于100或小于0")
      elseprint("都不满足")
      
      
      都不满足
      
  • 三目表达式(三元表达式)

    一行代码判断对于简单的条件赋值,可以使用三元表达式

    • 语法
    value = true_value if condition else false_value
    
    • 基本用法
    stock = 5
    m = "有货" if stock > 0 else "缺货"# m可变变量
    print(m)
    
    有货
    
    • 解析

      如果stock '>' 0 则将"有货"赋值给m变量,如果stock 不满足 stock '>' 0 条件,则将"缺货"赋值给m变量

    📌三目表达式 也可支持 嵌套

2.5.3 循环语句

1. while循环语句
  • 定义

    while语句可以让某功能的代码逻辑在满足某一条件的情况下反复的重复的执行。

  • 语法

    while 条件 表达式 :
         循环体 :如果条件表达式成立时执行的循环语句逻辑
    else:
        如果条件表达式 不成立 时执行的循环语句逻辑
    
  • 基本用法

    # 输出100以内的所有正整数
    # 定义一个循环变量,其主要用于控制循环结束逻辑
    i = 0
    # 循环条件:当i始终是小于100的情况时,循环要一直执行
    while i < 100:  # 若 i >= 100 则推出循环
        i += 1  # i自增 i = i + i
        print(i)
    else:
        print("循环完成")
    # 循环内每执行一次让循环变量i加1,保证下一次循环:
    
    1
    2
    3
    4
    5
    ...  # 省略 输出 1 ~ 100
    100
    循环完成  # i >= 100 执行else
    
    
  • 死循环loop

    死循环(loop)是指程序一旦进入循环状态,其循环条件永远不会达到“不满足循环继续执行”的“不成立”状态,进而程序的循环体结构因循环条件永远无法达到“不成立”状态而一直循环执行下去

    while True: # 永远执行
        代码块
        break # 退出当前循环(防止死循环)
    
    
  • while循环语句嵌套

    • 语法
      while 条件表达式:
          循环体语句逻辑
          ...
          此时这层循环称作“外层循环逻辑”;
          如果此时需要嵌套:
          while 条件表达式:
              循环体语句逻辑
              此时这层循环称作“内层循环逻辑”;
              ...
              如果此时还需要继续嵌套:
              while 条件表达式:
      
2. break语句
  • 作用:终止当前程序的循环体执行

  • 语法

    while 条件:
        代码块
        break # 退出当前循环
    
  • 基本用法

    • 未使用break

      # 输出100以内的所有正整数
      # 没有添加break,程序会一直循环执行到自动结束
      
      i = 0
      while i < 100:
          i += 1
          print(i)
      else:
          print('循环没有执行')
      
      
      
      1
      2
      3
      4
      5
      ...
      100
      循环没有执行
      
    • 使用break

      # 输出100以内的所有正整数
      # 没有添加break,程序会一直循环执行到自动结束
      
      i = 0
      while i < 100:
          i += 1
          print(i)
          # 此时循环已经执行了一次,但break了,则后续的循环就不再执行了
          break 
      else:
          print('循环没有执行')
      
      
      1  # 只循环了一次,执行到break就推出循环
      
    • 例如

      # 输出100以内的所有正整数
      i = 0
      while True: # 死循环
       
          print(i)
          i += 1
       
          if i == 100:  # 使用if强行退出
              break
       
      else:
          print('循环没有执行')
          
      
3. continue语句
  • 作用:跳出当前本次循环,进入下一次循环

  • 语法

    while 条件:
        代码块
        continue # 继续当前循环
    
  • 基本用法

    • 结束当前本次循环的位置

      # 输出100以内的所有正整数
      i = 0
      while i < 100:
       
          print(i)
          i += 1
      # 本次循环执行到continue这一行就终止了,本次循环continue语句之后的逻辑不再执行
          continue
          print('本次后续的没必要执行了')
       
      else:
          print('循环没有执行')
      
      
      
      1
      2
      3
      4
      5
      ...
      100
      循环没有执行
      
4. for循环
  • 定义:

    for循环语句常用于可迭代对象的**遍历**操作,即:可以从可迭代对象中迭代(不断的获取下一个)的存取对应的数据元素;

    📌一次一次循环序列等等可迭代对象里的每一个元素,叫做遍历可迭代对象: 列表, 字符串, 字典等等容器和序列类型

  • for循环对比while循环:

    while循环:当while后的条件表达式的执行结果为True时才会触发while循环体;

    for循环:没有触发条件,只要其遍历的是一个可迭代对象且该可迭代对象具有长度;

    📌都可以使用break语句结束循环

  • 基本用法1

    num = [1, 2, "hi", 4648, 5]
    
    # 将num里的值从1开始赋值给i,直到5,遍历完num列表
    for i in num:  
        print(i)
        
    
    
    1      # 当i = num的第一位时,i = 1
    2      # 当i = num的第一位时,i = 2
    hi     # 当i = num的第一位时,i = "hi"
    4648   # 当i = num的第一位时,i = 4648
    5      # 当i = num的第一位时,i = 5
    
    
  • 基本用法2

    num = "hello world!"
    
    # 将num里的值从1开始赋值给i,直到5,遍历完num列表
    for i in num:  
        print(i)
        
    
    
    h      # 当i = num的第一位时,i = "h"
    e      # 当i = num的第一位时,i = "e"
    l      # 当i = num的第一位时,i = "l"
    l      # 当i = num的第一位时,i = "l"
    o      # 当i = num的第一位时,i = "o"
           # 当i = num的第一位时,i = " "
    w      # ...
    o
    r
    l
    d
    !
    
  • range()函数

    • 定义

      range()用于创建一个包含一系列整数对象的可迭代对象,通常也称为整数序列生成器;

      📌有序整数数字生成器

    • 语法

      # 三个参数
      iter = range(起点, 终点, 间隔(可选))
      
      #  最少要给1个参数作为取值范围的终点;
      iter = range(终点) # 默认0~终点
      
      
    • 基本使用

      # 生成从0开始到9的序列,且间距为2
      iter = range(0, 10, 2)
      print(iter)
      
      [0, 2, 4, 6, 8]
      

      📌range()起点为设定值开始,终点为设定终点-1

    • 例如

      给我一个具备10个元素对象的可迭代对象,让我for循环来遍历它,我就可以实现10次的循环了

      iter = range(0, 10)
      # 输出
      [0, 1, 2, 3, 4, 5, 7, 8, 9] # 不包含 10 
      
      
    • 搭配for 循环

      # 生成1~99序列,且for遍历
      for i in range(1, 100): 
          print(i)
      
      
      1
      2
      3
      4
      ...
      99
      
  • for循环语句嵌套

    for 循环变量1 in 可迭代对象1:
        循环体语句
        此时这里的循环体语句称为“外层循环”;
        此时如果需要嵌套:
        for 循环变量2 in 可迭代对象2:
            循环体语句
            此时这里的循环体语句称为“内层循环”;
            此时如果需要继续嵌套:
            for 循环变量3 in 可迭代对象3:
                循环体语句
                此时这里的循环体语句称为“第三层循环”;
                以此类推...
    
5. for 与 while 循环总结
  • 例如输出0-100内的所有偶数
    • for 循环

      # 构造100个整数对象的可迭代对象,从0开始,到101结束,即取到100,步长为2
      for i in range(1, 1012):
          print(i)
      
      
      0
      2
      4
      6
      8
      ...
      100
      
    • while 循环

      # 定义循环变量i,用于控制while循环结束
      i = 0
      # 循环条件:当i小于100时循环保持执行
      while i < 100:
          # 先将循环变量自增1
          i += 1
          #做逻辑判断:如果i的值与2做取余其余数为0,代表其是一个偶数
          if i % 2 == 0:
              # 条件判断内输出该奇数即可
              print(i)
      
      
      0
      2
      4
      6
      8
      ...
      100
      

      📌其实for循环实现一个循环逻辑往往比while循环实现的简单、高效、方便

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐