day04.判断语句和循环语句【Python教程】
一、if-else
想一想:在使用if的时候,它只能做到满足条件时要做的事情。那万一需要在不满足条件的时候,做某些事,该怎么办呢?
答:else
<1>if-else的使用格式
demo1
结果1:有车票的情况
结果2:没有车票的情况
<2>练一练
要求:从键盘输入刀子的长度,如果刀子长度没有超过10cm,则允许上火车,否则不允许上火车
二、elif
想一想:
if能完成当xxx时做事情
if-else能完成当xxx时做事情1,否则做事情2
如果有这样一种情况:当xxx1时做事情1,当xxx2时做事情2,当xxx3时做事情3,那该怎么实现呢?
答:
elif
<1> elif的功能
elif的使用格式如下:
说明:
当xxx1满足时,执行事情1,然后整个if结束
当xxx1不满足时,那么判断xxx2,如果xxx2满足,则执行事情2,然后整个if结束
当xxx1不满足时,xxx2也不满足,如果xxx3满足,则执行事情3,然后整个if结束
demo:
<2> 注意点
可以和else一起使用
说明:
当 “性别为男性” 满足时,执行 “输出男性的特征”的相关代码
当 “性别为男性” 不满足时,如果 “性别为女性”满足,则执行 “输出女性的特征”的相关代码
当 “性别为男性” 不满足,“性别为女性”也不满足,那么久默认执行else后面的代码,即 “第三种性别的特征”相关代码
elif必须和if一起使用,否则出错
三、if嵌套
通过学习if的基本用法,已经知道了
当需要满足条件去做事情的这种情况需要使用if
当满足条件时做事情A,不满足条件做事情B的这种情况使用if-else
想一想:
坐火车或者地铁的实际情况是:先进行安检如果安检通过才会判断是否有车票,或者是先检查是否有车票之后才会进行安检,即实际的情况某个判断是再另外一个判断成立的基础上进行的,这样的情况该怎样解决呢?
答:
if嵌套
<1>if嵌套的格式
说明
外层的if判断,也可以是if-else
内层的if判断,也可以是if-else
根据实际开发的情况,进行选择
<2>if嵌套的应用
demo:
结果1:chePiao = 1;daoLenght = 9
结果2:chePiao = 1;daoLenght = 20
结果3:chePiao = 0;daoLenght = 9
结果4:chePiao = 0;daoLenght = 20
想一想:为什么结果3和结果4相同???
<3>练一练
情节描述:上公交车,并且可以有座位坐下
要求:输入公交卡当前的余额,只要超过2元,就可以上公交车;如果空座位的数量大于0,就可以坐下
四、应用:猜拳游戏
<1>运行效果:
<2>参考代码:
五、循环介绍
<1>生活中的循环场景
跑道
风扇
CF加特林
<2>软件开发中循环的使用场景
跟媳妇承认错误,说一万遍"媳妇儿,我错了"
使用循环语句一句话搞定
<3>小总结
一般情况下,需要多次重复执行的代码,都可以用循环的方式来完成
循环不是必须要使用的,但是为了提高代码的重复使用率,所以有经验的开发者都会采用循环
六、while循环
<1>while循环的格式
demo
结果:
七、while循环应用
1. 计算1~100的累积和(包含1和100)
参考代码如下:
2. 计算1~100之间偶数的累积和(包含1和100)
参考代码如下:
八、while循环嵌套
前面学习过if的嵌套了,想一想if嵌套是什么样子的?
类似if的嵌套,while嵌套就是:while里面还有while
<1>while嵌套的格式
<2>while嵌套应用一
要求:打印如下图形:
参考代码:
<3>while嵌套应用二:九九乘法表
参考代码:
九、for循环
像while循环一样,for可以完成循环的功能。
在Python中 for循环可以遍历任何序列的项目,如一个列表或者一个字符串等。
for循环的格式
demo1
运行结果如下:
demo2
运行结果如下:
十、break和continue
1. break
<1> for循环
普通的循环示例如下:
运行结果:
带有break的循环示例如下:
运行结果:
<2> while循环
普通的循环示例如下:
运行结果:
带有break的循环示例如下:
运行结果:
小总结:
break的作用:用来结束整个循环
2. continue
<1> for循环
带有continue的循环示例如下:
运行结果:
<2> while循环
带有continue的循环示例如下:
运行结果:
小总结:
continue的作用:用来结束本次循环,紧接着执行下一次的循环
3. 注意点
break/continue只能用在循环中,除此以外不能单独使用
break/continue在嵌套循环中,只对最近的一层循环起作用
十一、总结
if往往用来对条件是否满足进行判断
if有4中基本的使用方法:
1.基本方法
2.满足与否执行不同的事情
3.多个条件的判断
4.嵌套
while循环一般通过数值是否满足来确定循环的条件
for循环一般是对能保存多个数据的变量,进行便利
if、while、for等其他语句可以随意组合,这样往往就完成了复杂的功能
十二、作业
必做题:
1. 使用if,编写程序,实现以下功能:
从键盘获取用户名、密码
如果用户名和密码都正确(预先设定一个用户名和密码),那么就显示“欢迎进入xxx的世界”,否则提示密码或者用户名错误
2. 使用while,完成以下图形的输出
选做题:
1. 根据以下信息提示,请帮小明计算,他每月乘坐地铁支出的总费用
提示信息:
北京公交地铁新票价确定
据北京市发改委网站消息称,北京市将从2015年12月28起实施公共交通新票价:地铁6公里(含)内3元,公交车10公里(含)内2元,使用市政交通一卡通刷卡乘公交车普通卡5折,学生卡2.5折。
具体实施方案如下:
一、城市公共电汽车价格调整为:10公里(含)内2元,10公里以上部分,每增加1元可乘坐5公里。使用市政交通一卡通刷卡乘坐城市公共电汽车,市域内路段给予普通卡5折,学生卡2.5折优惠;市域外路段维持现行折扣优惠不变。享受公交政策的郊区客运价格,由各区、县政府按照城市公共电汽车价格制定。
二、轨道交通价格调整为:6公里(含)内3元;6公里至12公里(含)4元;12公里至22公里(含)5元;22公里至32公里(含)6元;32公里以上部分,每增加1元可乘坐20公里。使用市政交通一卡通刷卡乘坐轨道交通,每自然月内每张卡支出累计满100元以后的乘次,价格给予8折优惠;满150元以后的乘次,价格给予5折优惠;支出累计达到400元以后的乘次,不再享受打折优惠。
要求:
假设每个月,小明都需要上20天班,每次上班需要来回1次,即每天需要乘坐2次同样路线的地铁;每月月初小明第一次刷公交卡时,扣款5元;编写程序,帮小明完成每月乘坐地铁需要的总费用