Python AI开发python篇学习笔记 – 第三章 – 流程控制语句第三章流程控制此文章是作者学习ai的完整笔记在现在ai快速发展的时期鼓励大家一起学习python路线图: Python 算法 Linux(Rocky、Ubuntu) 爬虫与数据分析 机器学习 高等数学 大模型 …目录2.5 流程控制与循环语句2.5.1 基础概念2.5.2 条件判断1. if …else条件判断分支结构2. if…elif…else多条件判断多分支结构3. 其他条件用法2.5.3 循环语句1. while循环语句2. break语句3. continue语句4. for循环5. for 与 while 循环总结2.5 流程控制与循环语句2.5.1 基础概念控制代码执行顺序的语法结构.程序默认按从上到下的顺序逐行执行而流程控制语句能让你根据条件选择执行某些代码块或重复执行某段代码。2.5.2 条件判断1. if …else条件判断分支结构Python条件语句是通过一条或多条语句的执行结果True或者False来决定执行的代码块。可以通过下图来简单了解条件语句的执行过程:语法if判断条件 语句1else 语句2当if后面的条件成立时(True)执行语句1若不成立则执行else:下语句2基本用法flagFalsenamelurenifnamepython:# 判断变量是否为 pythonflagTrue# 条件成立时设置标志为真(True)printwelcome boss# 并输出欢迎信息else:print(namelurenif 语句的判断条件可以用大于、(小于)、等于、大于等于、小于等于、≠不等于、in、not 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当所有的条件表达式都 不成立 时执行的语句逻辑基本用法today4iftoday1:# 条件不成立为False,执行下一个elifprint(周一)eliftoday2:print(周二)eliftoday3:print(周三)else:print(周一周二周三之外的一天)# 成立输出周一周二周三之外的一天3. 其他条件用法嵌套用法if条件判断1:if条件判断2:当两个条件都成立时执行的代码nanint(input(请输入男方的年龄))nuint(input(请输入女方的年龄))ifnan22:ifnu20:print(可以结婚)else:print(不可以结婚)else:print(不可以结婚)组合条件and与所有条件为真or或任意条件为真not非条件取反is_memberTruepurchase_amount150ifis_memberandpurchase_amount100:print(享受会员8折优惠)elifpurchase_amount100:print(享受普通9折优惠)else:print(无折扣)逻辑语句如and左右均为**True满足and条件两个条件都为True图中is_memberandpurchase_amount为True再判断is_memberandpurchase_amount** 100,如果成立则执行享受会员8折优惠不成立则执行下面elif等等例如num50ifnum100ornum0:print(这个数大于100或小于0)elseprint(都不满足)都不满足三目表达式三元表达式一行代码判断对于简单的条件赋值可以使用三元表达式语法valuetrue_valueifconditionelsefalse_value基本用法stock5m有货ifstock0else缺货# m可变变量print(m)有货解析如果stock 0则将有货赋值给m变量如果stock 不满足stock 0条件则将缺货赋值给m变量三目表达式也可支持嵌套2.5.3 循环语句1. while循环语句定义while语句可以让某功能的代码逻辑在满足某一条件的情况下反复的、重复的执行。语法while条件 表达式:循环体 如果条件表达式成立时执行的循环语句逻辑else:如果条件表达式 不成立 时执行的循环语句逻辑基本用法# 输出100以内的所有正整数# 定义一个循环变量其主要用于控制循环结束逻辑i0# 循环条件当i始终是小于100的情况时循环要一直执行whilei100:# 若 i 100 则推出循环i1# i自增 i i iprint(i)else:print(循环完成)# 循环内每执行一次让循环变量i加1保证下一次循环12345...# 省略 输出 1 100100循环完成# i 100 执行else死循环loop死循环loop是指程序一旦进入循环状态其循环条件永远不会达到“不满足循环继续执行”的“不成立”状态进而程序的循环体结构因循环条件永远无法达到“不成立”状态而一直循环执行下去。whileTrue:# 永远执行代码块break# 退出当前循环防止死循环while循环语句嵌套语法while条件表达式:循环体语句逻辑...此时这层循环称作“外层循环逻辑” 如果此时需要嵌套while条件表达式:循环体语句逻辑 此时这层循环称作“内层循环逻辑”...如果此时还需要继续嵌套while条件表达式:2. break语句作用终止当前程序的循环体执行语法while条件:代码块break# 退出当前循环基本用法未使用break# 输出100以内的所有正整数# 没有添加break程序会一直循环执行到自动结束i0whilei100:i1print(i)else:print(循环没有执行)1 2 3 4 5 ... 100 循环没有执行使用break# 输出100以内的所有正整数# 没有添加break程序会一直循环执行到自动结束i0whilei100:i1print(i)# 此时循环已经执行了一次但break了则后续的循环就不再执行了breakelse:print(循环没有执行)1# 只循环了一次,执行到break就推出循环例如# 输出100以内的所有正整数i0whileTrue:# 死循环print(i)i1ifi100:# 使用if强行退出breakelse:print(循环没有执行)3. continue语句作用跳出当前本次循环​进入下一次循环语法while条件:代码块continue# 继续当前循环基本用法结束当前本次循环的位置# 输出100以内的所有正整数i0whilei100:print(i)i1# 本次循环执行到continue这一行就终止了本次循环continue语句之后的逻辑不再执行continueprint(本次后续的没必要执行了)else:print(循环没有执行)1 2 3 4 5 ... 100 循环没有执行4. for循环定义for循环语句常用于可迭代对象的**遍历**操作即可以从可迭代对象中迭代不断的获取下一个的存取对应的数据元素一次一次循环序列等等可迭代对象里的每一个元素叫做遍历可迭代对象:列表 字符串 字典等等容器和序列类型for循环对比while循环while循环当while后的条件表达式的执行结果为True时才会触发while循环体for循环没有触发条件只要其遍历的是一个可迭代对象且该可迭代对象具有长度都可以使用break语句结束循环基本用法1num[1,2,hi,4648,5]# 将num里的值从1开始赋值给i直到5遍历完num列表foriinnum:print(i)1# 当i num的第一位时i 12# 当i num的第一位时i 2hi# 当i num的第一位时i hi4648# 当i num的第一位时i 46485# 当i num的第一位时i 5基本用法2numhello world!# 将num里的值从1开始赋值给i直到5遍历完num列表foriinnum:print(i)h# 当i num的第一位时i he# 当i num的第一位时i el# 当i num的第一位时i ll# 当i num的第一位时i lo# 当i num的第一位时i o# 当i num的第一位时i w# ...o r l d !range()函数定义range()用于创建一个包含一系列整数对象的可迭代对象通常也称为整数序列生成器有序整数数字生成器语法# 三个参数iterrange(起点,终点,间隔可选)# 最少要给1个参数作为取值范围的终点iterrange(终点)# 默认0~终点基本使用# 生成从0开始到9的序列且间距为2iterrange(0,10,2)print(iter)[0,2,4,6,8]range()起点为设定值开始终点为设定终点-1例如给我一个具备10个元素对象的可迭代对象让我for循环来遍历它我就可以实现10次的循环了iterrange(0,10)# 输出[0,1,2,3,4,5,7,8,9]# 不包含 10搭配for 循环# 生成1~99序列且for遍历foriinrange(1,100):print(i)1234...99for循环语句嵌套for循环变量1in可迭代对象1:循环体语句 此时这里的循环体语句称为“外层循环” 此时如果需要嵌套for循环变量2in可迭代对象2:循环体语句 此时这里的循环体语句称为“内层循环” 此时如果需要继续嵌套for循环变量3in可迭代对象3:循环体语句 此时这里的循环体语句称为“第三层循环” 以此类推...5. for 与 while 循环总结例如输出0-100内的所有偶数for 循环# 构造100个整数对象的可迭代对象从0开始到101结束即取到100步长为2foriinrange(1,1012):print(i)02468...100while 循环# 定义循环变量i用于控制while循环结束i0# 循环条件当i小于100时循环保持执行whilei100:# 先将循环变量自增1i1#做逻辑判断如果i的值与2做取余其余数为0代表其是一个偶数ifi%20:# 条件判断内输出该奇数即可print(i)02468...100其实for循环实现一个循环逻辑往往比while循环实现的简单、高效、方便