判断语句和循环语句
一、判断语句
- 判断语句介绍
生活中的判断场景
火车站安检
安检.png上网吧
上网.png密码判断
密码.png
小总结:
- 如果某些条件满足,才能做某件事情;而不满足时,则不允许做,这就是所谓的判断
- 不仅生活中有,在软件开发中“判断”功能也经常会用到
- if判断语句
if判断语句介绍
if语句是用来进行判断的,其使用格式如下:if 要判断的条件: 条件成立时,要做的事情
- demo1:
age = 30 print( "------if判断开始------") if age >= 18: print ("我已经成年了") print ("------if判断结束------")
运行结果:
结果.png
- demo2:
age = 16 print("------if判断开始------") if age >= 18: print( "我已经成年了") print("------if判断结束------")
运行结果:
结果.png
- 小总结:
以上2个demo仅仅是age变量的值不一样,结果却不同;能够看得出if判断语句的作用:就是当满足一定条件时才会执行那块代码,否则就不执行那块代码注意:代码的缩进为一个tab键,或者4个空格
- 练一练
要求:从键盘获取自己的年龄,判断是否大于或者等于18岁,如果满足就输出“哥,已成年,网吧可以去了”
- input从键盘中获取数据,并且存入到一个变量中
- 使用if语句,来判断 age>=18是否成立
- 想一想
判断age大于或者等于18岁,使用的是 >=,还有哪些呢?
- 比较(即关系)运算符
python中的比较运算符如下表
比较运算符.png
- 逻辑运算符
逻辑运算符.png
- if-else
- 想一想:在使用if的时候,它只能做到满足条件时要做的事情。那万一需要在不满足条件的时候,做某些事,该怎么办呢?
答:使用 if-else
- 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:有车票的情况
结果.png结果2:没有车票的情况
结果.png
- 练一练
要求:从键盘输入身高,如果身高没有超过150cm,则进动物园不用买票,否则需要买票。
- elif
想一想:
if能完成当xxx时做事情
if-else能完成当xxx时做事情1,否则做事情2
如果有这样一种情况:当xxx1满足时做事情1;当xxx1不满足、xxx2满足时做事情2;当xxx2不满足、xxx3满足时做事情3,那该怎么实现呢?答:
elif
- 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')
- 注意点
可以和else一起使用if 性别为男性: 输出男性的体重 ... elif 性别为女性: 输出女性的体重 ... else: 第三种性别的体重 ...
说明:
- 当 “性别为男性” 满足时,执行 “输出男性的体重”的相关代码
- 当 “性别为男性” 不满足时,如果 “性别为女性”满足,则执行 “输出女性的体重”的相关代码
- 当 “性别为男性” 不满足,“性别为女性”也不满足,那么久默认执行else后面的代码,即 “第三种性别的体重”相关代码
elif必须和if一起使用,否则出错
else 一般用在最后,即所有条件都不满足时使用
- if嵌套
通过学习if的基本用法,已经知道了
当需要满足条件去做事情的这种情况需要使用if
当满足条件时做事情A,不满足条件做事情B的这种情况使用if-else想一想:
坐火车或者地铁的实际情况是:先进行安检如果安检通过才会判断是否有车票,或者是先检查是否有车票之后才会进行安检,即实际的情况某个判断是再另外一个判断成立的基础上进行的,这样的情况该怎样解决呢?答:
if嵌套
- if嵌套的格式
if 条件1: 满足条件1 做的事情1 满足条件1 做的事情2 ...(省略)... if 条件2: 满足条件2 做的事情1 满足条件2 做的事情2 ...(省略)...
- 说明
- 外层的if判断,也可以是if-else
- 内层的if判断,也可以是if-else
- 根据实际开发的情况,进行选择
- 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
结果.png结果2:chePiao = 1;daoLenght = 20
结果.png结果3:chePiao = 0;daoLenght = 9
结果.png结果4:chePiao = 0;daoLenght = 20
结果.png想一想:为什么结果3和结果4相同???
- 练一练
- 情节描述:上公交车,并且可以有座位坐下
要求:输入公交卡当前的余额,只要超过2元,就可以上公交车;如果车上有空座位,就可以坐下。
- 应用:猜拳游戏
- 参考代码:
import random player = input('请输入:剪刀(0) 石头(1) 布(2):') player = int(player) computer = random.randint(0,2) 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('输了,不要走,洗洗手接着来,决战到天亮')
结果一:
结果.png结果二:
结果.png结果三:
结果.png
二、循环语句
- 循环介绍
生活中的循环场景
跑道
跑道.png风扇
风扇.pngCF加特林
CF-加特林.png
软件开发中循环的使用场景
- 跟媳妇承认错误,说一万遍"媳妇儿,我错了"
print("媳妇儿,我错了") print("媳妇儿,我错了") print("媳妇儿,我错了") ...(还有99997遍)...
- 使用循环语句一句话搞定
i = 0 while i < 10000: print("媳妇儿,我错了") i += 1
小总结
- 一般情况下,需要多次重复执行的代码,都可以用循环的方式来完成
- 循环不是必须要使用的,但是为了提高代码的重复使用率,所以有经验的开发者都会采用循环
- while循环
- while循环的格式
while 条件: 条件满足时,做的事情1 条件满足时,做的事情2 条件满足时,做的事情3 ...(省略)...
- demo:
i = 0 while i < 5: print("当前是第%d次执行循环" % (i + 1)) print("i=%d" % i) i += 1
结果:
结果.png
- while循环应用
- 计算1~100的累积和(包含1和100)
- 参考代码如下:
#encoding=utf-8 i = 1 sum = 0 while i<=100: sum = sum + i i += 1 print("1~100的累积和为:%d"%sum)
运行结果:
结果.png
- 计算1~100之间偶数的累积和(包含1和100)
- 参考代码如下:
#encoding=utf-8 i = 1 sum = 0 while i<=100: if i % 2 == 0: sum = sum + i i+=1 print("1~100的偶数累积和为:%d"%sum)
运行结果:
结果.png
- while循环嵌套
- 前面学习过if的嵌套了,想一想if嵌套是什么样子的?
- 类似if的嵌套,while嵌套就是:while里面还有while
- while嵌套的格式
while 条件1: 条件1满足时,做的事情1 条件1满足时,做的事情2 条件1满足时,做的事情3 ...(省略)... while 条件2: 条件2满足时,做的事情1 条件2满足时,做的事情2 条件2满足时,做的事情3 ...(省略)...
- while嵌套应用一
要求:打印如下图形:
*
* *
* * *
* * * *
* * * * *
- 参考代码:
i = 1 while i<=5: j = 1 while j<=i: print("* ",end='') j+=1 print("\n") i+=1
运行结果:
结果.png
- while嵌套应用二:九九乘法表
- 参考代码:
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
运行结果:
结果.png
- for循环
- 像while循环一样,for可以完成循环的功能。
- 在Python中 for循环可以遍历任何序列的项目,如一个列表或者一个字符串等。
- for循环的格式
for 临时变量 in 列表或者字符串等: 循环满足条件时执行的代码
- demo1:
name = 'neuedu' for x in name: print(x)
运行结果:
结果.png
- demo2:
name = 'hello' for x in name: print(x) if x=='l': break #退出for循环 else: print("==for循环过程中,如果没有break则执行==")
运行结果:
结果.png
- demo3:
name = 'hello' for x in name: print(x) #if x=='l': # break #退出for循环 else: print("==for循环过程中,如果没有break则执行==")
运行结果:
结果.png
三、break和continue
- break
- for循环
普通的循环示例如下:name = 'neuedu' for x in name: print(x) print('----')
运行结果:
结果.png
带有break的循环示例如下:
name = 'neuedu' for x in name: if x == 'u': break print(x) print('----')
运行结果:
结果.png
- while循环
普通的循环示例如下:i = 0 while i<5: i = i+1 print(i) print('----')
运行结果:
结果.png
带有break的循环示例如下:
i = 0 while i<5: i = i+1 if i==3: break print(i) print('----')
运行结果:
结果.png
- 小结:
break的作用:用来结束break所在的整个循环
- continue
- for循环
带有continue的循环示例如下:name = 'neuedu' for x in name: if x == 'u': continue print(x) print('----')
运行结果:
结果.png
- while循环
带有continue的循环示例如下:i = 0 while i<5: i = i+1 if i==3: continue print(i) print('----')
运行结果:
结果.png
- 小结:
continue的作用:用来结束本次循环,紧接着执行下一次的循环
- 注意点
break/continue只能用在循环中,除此以外不能单独使用
break/continue在嵌套循环中,只对最近的一层循环起作用