判断语句
布尔类型和比较运算符
比较运算符
if 语句的基本格式
举例:
- 判断语句的结果,必须是布尔类型 True 或 False,True 会执行 if 内的代码语句,False 则不会执行
- 归属于 if 判断的代码语句块,需在前方填充 4 个空格缩进。Python 通过缩进判断代码块的归属关系。
if else 语句
举例:
if elif else 语句
举例
判断是互斥且有顺序的
- 满足 1(如图编号)将不会理会 2 和 3
- 满足 2,将不会理会 3
- 1、2、3 均不满足,进入 else
- else 也可以省略不写,效果等同 3 个独立的 if 判断
判断语句的嵌套
举例
实战案例
定义一个数字(1~10,随机产生),通过 3 次判断来猜出来数字
循环语句
while 循环的基础语法
举例:
案例:求 1-100 的和 参考代码
案例:猜数字游戏
设置一个范围 1-100 的随机整数变量,通过 while 循环,配合 input 语句,判断输入的数字是否等于随机数
- 无限次机会,直到猜中为止
- 每一次猜不中,会提示大了或小了
- 猜完数字后,提示猜了几次
参考代码:
while 循环的嵌套应用
简单嵌套:背 100 天单词,每天背 10 个
案例:打印九九乘法表
补充知识
- print 输出不换行
在 print 语句中,输出默认会换行,而在本案例中,需要不换行,此时加上 end=''
即可输出不换行了,该方法是使用的方法传参功能,见后续内容。
- 制表符
\t
在字符串中,有一个特殊符号:\t
,效果等同于在键盘上按下:tab 键。
它可以让我们的多行字符串进行对齐 1。
注意:该方法可能因字符串长度出现问题 2
提示:
- 2 层循环,外层控制行,内层控制列
- 外层循环和内存循环的累加数字变量,用以辅助输出乘法表的数值
九九乘法表示例代码
一定要注意缩进
for 循环的基础语法
与 while 循环的区别
- while 循环的循环条件是自定义的,自行控制循环条件
- for 循环是一种”轮询”机制,是对一批内容进行”逐个处理”
基础语法
举例:
输出结果
可见,for 循环是将字符串的内容:依次取出,因此 for 循环也被称之为:遍历循环
同 while 循环不同,for 循环是无法定义循环条件的。所以,理论上讲,Python 的 for 循环无法构建无限循环(被处理的数据集不可能无限大)
练习案例:计算字符串中某个字母的数量
提示:
- 计数可以在循环外定义一个整数类型变量用来做累加计数
- 判断是否为要找的字母,可以通过 if 语句结合比较运算符来完成
示例代码
range 语句
上面 for 语句语法中的:待处理数据集,严格来说,称之为:可迭代类型 可迭代类型指,其内容可以一个个依次取出的一种类型,包括:字符串、列表、元组 等,目前只学习字符串类型,其余类型后续会学到。
通过 range 语句,我们可以获得一个简单的数字序列(可迭代类型的一种)。
语法 1:range(num)
获取一个从 0 开始,到 num 结束的数字序列(不含 num 本身)。如 range(5)
取得的数据是:[0, 1, 2, 3, 4]
语法 2:range(num1, num2)
` 获得一个从 num1 开始,到 num2 结束的数字序列(不含 num2 本身) 如,range(5, 10) 取得的数据是:[5, 6, 7, 8, 9]
语法 3:range(num1, num2, step)
` 获得一个从 num1 开始,到 num2 结束的数字序列(不含 num2 本身),数字之间的步长,以 step 为准(step 默认为 1) 如,range(5, 10, 2) 取得的数据是:[5, 7, 9]
for 循环遍历 range 序列
代码举例
range 的用途很多,多数用在 for 循环场景
练习案例:数有几个偶数
提示:
- 序列可以使用:range(1, num) 得到
- 偶数通过 if 来判断,判断数字余 2 是否为 0 即可
参考代码
变量作用域
如果在 for 循环外部访问临时变量:实际上是可以访问到的,但在编程规范上,是不允许、不建议这么做的 解决方案:如需访问临时变量,可以预先在循环外定义它
for 循环的嵌套应用
代码示例
for 和 while 两类循环语句是可以相互嵌套的
练习案例:for 循环打印九九乘法表
提示:
- 2 层循环,外层控制行,内层控制列
- 可使用 range 语句来得到数字序列进行 for 循环
- 内层 for 循环的 range 最大范围,取决于当前外层循环的数字
示例代码
循环中断 : break 和 continue
无论是 while 循环或是 for 循环,都是重复性的执行特定操作。在这个重复的过程中,会出现一些其它情况让我们不得不: 暂时跳过某次循环,直接进行下一次提前退出循环,不在继续。对于这种场景,Python 提供 continue 和 break 关键字,用以对循环进行临时跳过和直接结束。
continue
- continue 关键字用于:中断本次循环,直接进入下一次循环
- continue 可以用于: for 循环和 while 循环,效果一致
- continue 关键字只可以控制:它所在的循环临时中断
break
- break 关键字用于:直接结束所在循环
- break 可以用于: for 循环和 while 循环,效果一致
- break 关键字同样只可以控制:它所在的循环永久中断
综合案例:发绩效工资
发绩效工资:某公司,账户余额有 1W 元,给 20 名员工发绩效工资。 员工编号从 1 到 20,从编号 1 开始,依次领取工资,每人可领取 1000 元 领工资时,财务判断员工的绩效分(1-10)(随机生成),如果低于 5,不发工资,换下一位 如果工资发完了,结束发工资。
提示: continue 用于跳过员工,break 直接结束发工资 if 判断余额,不要忘记发完工资后,余额减少 1000
参考代码
Footnotes
-
Python 中制表符
\t
的使用 https://blog.csdn.net/weixin_45772041/article/details/108861310 ↩ -
Python 制表符
\t
无法对齐问题 https://blog.csdn.net/qq_41931443/article/details/120190885 ↩