2 python基础之判断语句和循环语句
if-else
想一想:在使用if的时候,它只能做到满足条件时要做的事情。那万一需要在不满足条件的时候,做某些事,该怎么办呢? 答:else
<1>if-else的使用格式
if 条件: 满足条件时要做的事情1 满足条件时要做的事情2 满足条件时要做的事情3 ...(省略)... else: 不满足条件时要做的事情1 不满足条件时要做的事情2 不满足条件时要做的事情3 ...(省略)...
demo1
chePiao = 1 # 用1代表有车票,0代表没有车票 if chePiao == 1: print("有车票,可以上火车") print("终于可以见到Ta了,美滋滋~~~") else: print("没有车票,不能上车") print("亲爱的,那就下次见了,一票难求啊~~~~(>_<)~~~~")
结果1:有车票的情况
1 2 | 有车票,可以上火车 终于可以见到Ta了,美滋滋~~~ |
结果2:没有车票的情况
没有车票,不能上课
亲爱的,那就下次见了,一票难求啊~~~~(>_<)~~~~
<2>练一练
要求:从键盘输入刀子的长度,如果刀子长度没有超过10cm,则允许上火车,否则不允许上火车
elif
-
想一想:
if能完成当xxx时做事情
if-else能完成当xxx时做事情1,否则做事情2
如果有这样一种情况:当xxx1时做事情1,当xxx2时做事情2,当xxx3时做事情3,那该怎么实现呢?
-
答:
elif
<1> elif的功能
elif的使用格式如下:
if xxx1: 事情1 elif xxx2: 事情2 elif xxx3: 事情3
说明:
- 当xxx1满足时,执行事情1,然后整个if结束
- 当xxx1不满足时,那么判断xxx2,如果xxx2满足,则执行事情2,然后整个if结束
- 当xxx1不满足时,xxx2也不满足,如果xxx3满足,则执行事情3,然后整个if结束
demo:
score = 77 if score>=90 and score<=100: print('本次考试,等级为A') elif score>=80 and score<90: print('本次考试,等级为B') elif score>=70 and score<80: print('本次考试,等级为C') elif score>=60 and score<70: print('本次考试,等级为D') elif score>=0 and score<60: print('本次考试,等级为E')
<2> 注意点
-
可以和else一起使用
if 性别为男性: 输出男性的特征 ... elif 性别为女性: 输出女性的特征 ... else: 第三种性别的特征 ...
-
说明:
- 当 “性别为男性” 满足时,执行 “输出男性的特征”的相关代码
- 当 “性别为男性” 不满足时,如果 “性别为女性”满足,则执行 “输出女性的特征”的相关代码
- 当 “性别为男性” 不满足,“性别为女性”也不满足,那么久默认执行else后面的代码,即 “第三种性别的特征”相关代码
- elif必须和if一起使用,否则出错
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
1 2 3 | 有车票,可以进站 通过安检 终于可以见到Ta了,美滋滋~~~ |
结果2:chePiao = 1;daoLenght = 20
1 2 3 | 有车票,可以进站 没有通过安检 刀子的长度超过规定,等待警察处理... |
结果3:chePiao = 0;daoLenght = 9
1 2 | 没有车票,不能进站 亲爱的,那就下次见了,一票难求啊~~~~(>_<)~~~~ |
结果4:chePiao = 0;daoLenght = 20
1 2 | 没有车票,不能进站 亲爱的,那就下次见了,一票难求啊~~~~(>_<)~~~~ |
想一想:为什么结果3和结果4相同???
<3>练一练
情节描述:上公交车,并且可以有座位坐下
要求:输入公交卡当前的余额,只要超过2元,就可以上公交车;如果空座位的数量大于0,就可以坐下
应用:猜拳游戏
参考代码:

import random player = input('请输入:剪刀(0) 石头(1) 布(2):') player = int(player) 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('输了,不要走,洗洗手接着来,决战到天亮')
循环介绍
<1>生活中的循环场景
跑道
<2>软件开发中循环的使用场景
跟媳妇承认错误,说一万遍"媳妇儿,我错了"
1 2 3 4 | print ( "媳妇儿,我错了" ) print ( "媳妇儿,我错了" ) print ( "媳妇儿,我错了" ) ...(还有 99997 遍)... |
使用循环语句一句话搞定
1 2 3 4 | i = 0 while i< 10000 : print ( "媳妇儿,我错了" ) i + = 1 |
<3>小总结
- 一般情况下,需要多次重复执行的代码,都可以用循环的方式来完成
- 循环不是必须要使用的,但是为了提高代码的重复使用率,所以有经验的开发者都会采用循环
while循环
<1>while循环的格式
1 2 3 4 5 | while 条件: 条件满足时,做的事情 1 条件满足时,做的事情 2 条件满足时,做的事情 3 ...(省略)... |
demo
i = 0 while i<5: print("当前是第%d次执行循环"%(i+1)) print("i=%d"%i) i+=1
while循环应用
1. 计算1~100的累积和(包含1和100)
参考代码如下:
1 2 3 4 5 6 7 8 9 | #encoding=utf-8 i = 1 sum = 0 while i< = 100 : sum = sum + i i + = 1 print ( "1~100的累积和为:%d" % sum ) |
2. 计算1~100之间偶数的累积和(包含1和100)
参考代码如下:
1 2 3 4 5 6 7 8 9 10 | #encoding=utf-8 i = 1 sum = 0 while i< = 100 : if i % 2 = = 0 : sum = sum + i i + = 1 print ( "1~100的累积和为:%d" % sum ) |
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嵌套应用一
要求:打印如下图形:
* * * * * * * * * * * * * * *
参考代码:
1 2 3 4 5 6 7 8 9 10 | i = 1 while i< = 5 : j = 1 while j< = i: print ( "* " ,end = '') j + = 1 print ( "\n" ) i + = 1 |
<3>while嵌套应用二:九九乘法表
参考代码:
1 2 3 4 5 6 7 8 | i = 1 while i< = 9 : j = 1 while j< = i: print ( "%d*%d=%-2d " % (j,i,i * j),end = '') j + = 1 print ( '\n' ) i + = 1 |
for循环
像while循环一样,for可以完成循环的功能。
在Python中 for循环可以遍历任何序列的项目,如一个列表或者一个字符串等。
for循环的格式
1 2 3 4 | for 临时变量 in 列表或者字符串等: 循环满足条件时执行的代码 else : 循环不满足条件时执行的代码 |
demo1
1 2 3 4 | name = 'dongGe' for x in name: print (x) |
break和continue
1. break
<1> for循环
-
普通的循环示例如下:
1 2 3 4 5 | name = 'dongGe' for x in name: print ( '----' ) print (x) |
运行结果:
带有break的循环示例如下:
name = 'dongGe' for x in name: print('----') if x == 'g': break print(x)
运行结果:
<2> while循环
-
普通的循环示例如下:
1 2 3 4 5 6 | i = 0 while i< 10 : i = i + 1 print ( '----' ) print (i) |
运行结果:
带有break的循环示例如下:
i = 0 while i<10: i = i+1 print('----') if i==5: break print(i)
运行结果:
小总结:
- break的作用:用来结束整个循环
2. continue
<1> for循环
-
带有continue的循环示例如下:
1 2 3 4 5 6 7 | name = 'dongGe' for x in name: print ( '----' ) if x = = 'g' : continue print (x) |
运行结果:
- 小总结:
- continue的作用:用来结束本次循环,紧接着执行下一次的循环
3. 注意点
-
break/continue只能用在循环中,除此以外不能单独使用
-
break/continue在嵌套循环中,只对最近的一层循环起作用
总结
- if往往用来对条件是否满足进行判断
-
if有4中基本的使用方法:
- 基本方法
12
if
条件:
满足时做的事情
- 满足与否执行不同的事情
1234
if
条件:
满足时做的事情
else
:
不满足时做的事情
-
多个条件的判断
12345678if
条件:
满足时做的事情
elif
条件
2
:
满足条件
2
时做的事情
elif
条件
3
:
满足条件
3
时做的事情
else
:
条件都不满足时做的事情
-
嵌套
1234if
条件:
满足时做的事情
这里还可以放入其他任何形式的
if
判断语句
- 基本方法
-
while循环一般通过数值是否满足来确定循环的条件
1234i
=
0
while
i<
10
:
print
(
"hello"
)
i
+
=
1
-
for循环一般是对能保存多个数据的变量,进行便利
1234name
=
'dongGe'
for
x
in
name:
print
(x)
-
if、while、for等其他语句可以随意组合,这样往往就完成了复杂的功能
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理