【Python使用】嘿马python基础入门全体系教程第3篇:if嵌套,判断语句和循环语句【附代码文档】
本教程的知识点为:计算机组成 计算机是由什么组成的? 1. 硬件系统: 2. 软件系统: 目标 运算符的分类 1. 算数运算符 2. 赋值运算符 3. 复合赋值运算符 判断语句和循环语句 if嵌套 1. if嵌套的格式 2. if嵌套的应用 if嵌套执行流程 容器:字符串、列表、元组、字典 字符串介绍 一. 认识字符串 1.1 字符串特征 字符串输出 容器:字符串、列表、元组、字典 列表的相关操作 1添加元素("增"append, extend, insert)1 append extend 容器:字符串、列表、元组、字典 字典的常见操作1 1查看元素1 2修改元素2 3添加元素3 函数介绍 1什么是函数1 小总结: 函数定义和调用 1定义函数1 多函数程序的基本使用流程 1. 使用全局变量 2. 使用函数的返回值、参数 3. 函数嵌套调用 函数返回值(二) 函数应用:学生管理系统 递归函数 1什么是递归函数1 2递归函数的作用2 看阶乘的规律 文件操作介绍 1什么是文件1 2文件的作用2 文件的打开与关闭 1打开文件1 面向对象编程介绍 面向对象 1. 概述 2. 生活举例 类和对象 init()方法 说明: 问题: 有参数的__init__()方法 说明: 继承介绍以及单继承 1. 现实中的继承 2. 程序中的继承 单继承:子类只继承一个父类 说明: super()的使用 问题: 知识点: 私有权限 面向对象三大特性:封装、继承、多态 静态方法和类方法 1. 类方法 2. 静态方法 总结 异常 模块 1Python中的模块1 2import2 3from…import3 注意
完整笔记代码请移步:
博客文章1: https://bbs.huaweicloud.com/blogs/432883
博客文章2: https://bbs.huaweicloud.com/blogs/433052
感兴趣的小伙伴可以自取哦~
全套教程部分目录:
部分文件图片:
判断语句和循环语句
学习目标:
- 能够说出 if 分支语句的作用
- 能够说出 if 语句的语法格式
- 能够说出 while 循环语句的作用
- 能够说出 while 循环的语法格式
- 能够说出 for循环的语法格式和作用
- 能够说出 break 在循环语句中的作用
- 能够说出 continue 在循环语句中的作用
if嵌套
通过学习if的基本用法,已经知道了
- 当需要满足条件去做事情的这种情况需要使用if
- 当满足条件时做事情A,不满足条件做事情B的这种情况使用if-else
想一想:
坐火车或者地铁的实际情况是:先进行安检如果安检通过才会判断是否有车票,或者是先检查是否有车票之后才会进行安检,即实际的情况某个判断是再另外一个判断成立的基础上进行的,这样的情况该怎样解决呢?
答:
if嵌套
1. if嵌套的格式
if 条件1:
满足条件1 做的事情1
满足条件1 做的事情2
if 条件2:
满足条件2 做的事情1
满足条件2 做的事情2
-
说明
-
外层的if判断,也可以是if-else
- 内层的if判断,也可以是if-else
- 根据实际开发的情况,进行选择
2. if嵌套的应用
demo:
chePiao = 1 # 用1代表有车票,0代表没有车票
daoLenght = 9 # 刀子的长度,单位为cm
if chePiao == 1:
print("有车票,可以进站")
if daoLenght < 10:
print("通过安检")
print("终于可以见到Ta了,美滋滋~~~")
else:
print("没有通过安检")
print("刀子的长度超过规定,等待警察处理...")
else:
print("没有车票,不能进站")
print("亲爱的,那就下次见了")
结果1:chePiao = 1;daoLenght = 9
有车票,可以进站
通过安检
终于可以见到Ta了,美滋滋~~~
结果2:chePiao = 1;daoLenght = 20
有车票,可以进站
没有通过安检
刀子的长度超过规定,等待警察处理...
结果3:chePiao = 0;daoLenght = 9
没有车票,不能进站
亲爱的,那就下次见了
结果4:chePiao = 0;daoLenght = 20
没有车票,不能进站
亲爱的,那就下次见了
- 想一想:为什么结果3和结果4相同???
if嵌套执行流程
3. 练一练
情节描述:上公交车,并且可以有座位坐下
要求:输入公交卡当前的余额,只要超过2元,就可以上公交车;如果车上有空座位,就可以坐下。
应用:猜拳游戏
⽬标
- 强化 多个条件 的 逻辑运算
- 体会 import 导⼊模块(“⼯具包”)的使⽤
1. 需求
-
从控制台输⼊要出的拳 —— ⽯头(1)/剪⼑(2)/布(3)
-
电脑 随机 出拳 —— 先假定电脑只会出⽯头,完成整体代码功能
-
⽐较胜负
<1>运行效果:1>
3. 参考代码:
import random
player = input('请输入:剪刀(0) 石头(1) 布(2):')
player = int(player)
# 产生随机整数:0、1、2 中的某一个
computer = random.randint(0,2)
# 用来进行测试
#print('player=%d,computer=%d',(player,computer))
if ((player == 0) and (computer == 2)) or ((player ==1) and (computer == 0)) or ((player == 2) and (computer == 1)):
print('获胜,哈哈,你太厉害了')
elif player == computer:
print('平局,要不再来一局')
else:
print('输了,不要走,洗洗手接着来,决战到天亮')
随机数的处理
- 在 Python 中,要使⽤随机数,⾸先需要导⼊ 随机数 的 模块 —— “⼯具包”
import random
-
导⼊模块后,可以直接在 模块名称 后⾯敲⼀个 . 然后按 Tab 键,会提示该模块中包含的所有函数
-
random.randint(a, b) ,返回 [a, b] 之间的整数,包含 a 和 b
目标
- 了解循环
- while语法【重点】
- while应用
- break和continue
- while循环嵌套【重点】
- while循环嵌套应用【难点】
- for循环
循环语句介绍
<1>生活中的循环场景1>
跑道
思考:假如我有个女朋友,有一天我们闹矛盾生气了,女朋友说:道歉,说一万遍“媳妇儿,我错了”。这个时候程序员会怎么做?
答: 一万遍print("媳妇儿,我错了")
思考:复制粘贴一万次吗?
答:重复执行一万次一样的代码,程序中循环即可
<2>软件开发中循环的使用场景2>
跟媳妇承认错误,说一万遍"媳妇儿,我错了"
print("媳妇儿,我错了")
print("媳妇儿,我错了")
print("媳妇儿,我错了")
...(还有99997遍)...
使用循环语句一句话搞定
i = 0
while i < 10000:
print("媳妇儿,我错了")
i += 1
循环的作用:让代码更高效的重复执行。
循环的分类
在Python中,循环分为while
和for
两种,最终实现效果相同。
<3>小总结3>
-
while和if的用法基本类似,区别在于:if 条件成立,则执行一次; while 条件成立,则重复执行,直到条件不成立为止。
-
一般情况下,需要多次重复执行的代码,都可以用循环的方式来完成
-
循环不是必须要使用的,但是为了提高代码的重复使用率,所以有经验的开发者都会采用循环
while循环
1. while循环的格式
while 条件:
条件满足时,做的事情1
条件满足时,做的事情2
条件满足时,做的事情3
...(省略)...
2. 练习题:循环打印5次
i = 0
while i < 5:
print("当前是第%d次执行循环" % (i + 1))
print("i=%d" % i)
i+=1
3. 结果:
当前是第1次执行循环
i=0
当前是第2次执行循环
i=1
当前是第3次执行循环
i=2
当前是第4次执行循环
i=3
当前是第5次执行循环
i=4
4. 死循环
由于程序员的原因,忘记 在循环内部 修改循环的判断条件,导致循环持续执⾏,程序⽆法终⽌!
while循环应用
1. 计算1~100的累积和(包含1和100)
分析:1-100的累加和,即1 + 2 + 3 + 4 +….,即前两个数字的相加结果 + 下一个数字( 前一个数字 + 1)。
参考代码如下:
#encoding=utf-8
i = 1
sum = 0
while i <= 100:
sum = sum + i
i += 1
print("1~100的累积和为:%d" % sum)
注意:为了验证程序的准确性,可以先改小数值,验证结果正确后,再改成1-100做累加。
2. 计算1~100之间偶数的累积和(包含1和100)
分析:1-100的偶数和,即 2 + 4 + 6 + 8....,得到偶数的方法如下:
- 偶数即是和2取余结果为0的数字,可以加入条件语句判断是否为偶数,为偶数则累加
- 初始值为0 / 2 , 计数器每次累加2
参考代码如下:
方法一:条件判断和2取余数则累加
#encoding=utf-8
i = 1
sum = 0
while i <= 100:
if i % 2 == 0:
sum = sum + i
i+=1
print("1~100的累积和为:%d" % sum)
方法二:计数器控制
i = 0
result = 0
while i <= 100:
result += i
i += 2
# 输出2550
print(result)
while循环嵌套
-
前面学习过if的嵌套了,想一想if嵌套是什么样子的?
-
类似if的嵌套,while嵌套就是:while里面还有while
1. while嵌套的格式
while 条件1:
条件1满足时,做的事情1
条件1满足时,做的事情2
条件1满足时,做的事情3
...(省略)...
while 条件2:
条件2满足时,做的事情1
条件2满足时,做的事情2
条件2满足时,做的事情3
...(省略)...
2. while嵌套应用
要求:打印如下图形:
* * * * *
* * * * *
* * * * *
* * * * *
* * * * *
参考代码:
i = 1
while i <= 5:
j = 1
while j <= 5:
print("*", end=" ")
j += 1
print()
i += 1
3.练习题:打印三角形
要求:打印如下图形:
*
* *
* * *
* * * *
* * * * *
参考代码:
i = 1
while i <= 5:
j = 1
while j <= i:
print("*", end=" ")
j += 1
print()
i += 1
4. 九九乘法表
执行结果
参考代码:
# 重复打印9行表达式
j = 1
while j <= 9:
# 打印一行里面的表达式 a * b = a*b
i = 1
while i <= j:
print(f'{i}*{j}={j*i}', end='\t')
i += 1
print()
j += 1
5. 练习题: 猜拳游戏(while版)
使用while循环语句实现猜拳游戏.
for循环
像while循环一样,for可以完成循环的功能。
在Python中 for循环可以遍历任何序列的项目,如一个列表或者一个字符串等。
for循环的格式
for 临时变量 in 列表或者字符串等可迭代对象:
循环满足条件时执行的代码
demo1
name = 'itheima'
for x in name:
print(x)
运行结果如下:
i
t
h
e
i
m
a
demo2
>>> for x in name:
print(x)
if x == 'l':
print("Hello world!")
运行结果如下:
h
e
l
Hello world!
l
Hello world!
o
demo3
# range(5) 在python就业班中进行讲解会牵扯到迭代器的知识,
# 作为刚开始学习python的我们,此阶段仅仅知道range(5)表示可以循环5次即可
for i in range(5):
print(i)
'''
效果等同于 while 循环的:
i = 0
while i < 5:
print(i)
i += 1
'''
运行结果如下:
0
1
2
3
4
break和continue
1. break
<1> for循环1>
- 普通的循环示例如下:
name = 'itheima'
for x in name:
print('----')
print(x)
else:
print("==for循环过程中,如果没有执行break退出,则执行本语句==")
运行结果:
----
i
----
t
----
h
----
e
----
i
----
m
----
a
==for循环过程中,如果没有break则执行==
- 带有break的循环示例如下:
name = 'itheima'
for x in name:
print('----')
if x == 'e':
break
print(x)
else:
print("==for循环过程中,如果没有执行break退出,则执行本语句==")
运行结果:
----
i
----
t
----
h
----
<2> while循环2>
- 普通的循环示例如下:
i = 0
while i<5:
i = i+1
print('----')
print(i)
else:
print("==while循环过程中,如果没有执行break退出,则执行本语句==")
运行结果:
----
1
----
2
----
3
----
4
----
5
==while循环过程中,如果没有break则执行==
- 带有break的循环示例如下:
i = 0
while i<5:
i = i+1
print('----')
if i==3:
break
print(i)
else:
print("==while循环过程中,如果没有执行break退出,则执行本语句==")
运行结果:
----
1
----
2
----
小结:
- break的作用:立刻结束break所在的循环
2. continue
<1> for循环1>
- 带有continue的循环示例如下:
name = 'itheima'
for x in name:
print('----')
if x == 'e':
continue
print(x)
else:
print("==while循环过程中,如果没有break则执行==")
运行结果: ```python
i
t
h
i
m
a ==while循环过程中,如果没有br
- 点赞
- 收藏
- 关注作者
评论(0)