本文标识 : Python_2
本文编辑 : Jack 风
编程工具 : Anaconda、Pycharm
阅读时长 : 15分钟
想一想:在使用if的时候,它只能做到满足条件时要做的事情。那万一需要在不满足条件的时候,做某些事,该怎么办呢? 答:else
if 条件:
满足条件时要做的事情1
满足条件时要做的事情2
满足条件时要做的事情3
...(省略)...
else:
不满足条件时要做的事情1
不满足条件时要做的事情2
不满足条件时要做的事情3
...(省略)...
demo
马上要过年了,又到了抢票的季节。
chePiao = 1 # 用1代表有车票,0代表没有车票
if chePiao == 1:
print("有车票,可以上火车")
print("终于可以坐着回家了,美滋滋~~~")
else:
print("没有车票,不能上车")
print("可否上车补票啊,真是一票难求啊~~~~(>_<)~~~~")
要求:从键盘输入刀子的长度,如果刀子长度没有超过10cm,则允许上火车,否则不允许上火车
elif的使用格式如下
if xxx1:
事情1
elif xxx2:
事情2
elif xxx3:
事情3
说明:
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')
想一想:
坐火车或者地铁的实际情况是:先进行安检如果安检通过才会判断是否有车票,或者是先检查是否有车票之后才会进行安检,即实际的情况某个判断是再另外一个判断成立的基础上进行的,这样的情况该怎样解决呢?
答:
if嵌套
if 条件1:
满足条件1 做的事情1
满足条件1 做的事情2
...(省略)...
if 条件2:
满足条件2 做的事情1
满足条件2 做的事情2
...(省略)...
demo
chePiao = 1 # 用1代表有车票,0代表没有车票
daoLenght = 9 # 刀子的长度,单位为cm
if chePiao == 1:
print("有车票,可以进站")
if daoLenght < 10:
print("通过安检")
print("终于可以坐着回家了,美滋滋~~~")
else:
print("没有通过安检")
print("刀子的长度超过规定,等待警察处理...")
else:
print("没有车票,不能进站")
print("不要方,真是一票难求啊~~~~(>_<)~~~~")
结果1:chePiao = 1;daoLenght = 9
有车票,可以进站
通过安检
终于可以回家了,美滋滋~~~
结果2:chePiao = 1;daoLenght = 20
有车票,可以进站
没有通过安检
刀子的长度超过规定,等待警察处理...
结果3:chePiao = 0;daoLenght = 9
没有车票,不能进站
一票难求啊~~~~(>_<)~~~~
结果4:chePiao = 0;daoLenght = 20
没有车票,不能进站
一票难求啊~~~~(>_<)~~~~
想一想:为什么结果3和结果4相同???
情节描述:上公交车,并且可以有座位坐下 要求:输入公交卡当前的余额,只要超过2元,就可以上公交车;如果空座位的数量大于0,就可以坐下
应用,根据if语句相关知识,完善猜拳游戏
优化参考代码
优化以下代码,解决只能玩一次的问题
import random
player = input('请输入:剪刀(0) 石头(1) 布(2):')
player = int(player)
computer = random.randint(0,2)
# 用来进行测试
# 感谢关注A2Data
#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('输了,不要走,洗洗手接着来,决战到天亮')
生活中的循环应用场景: 跑道、风扇、空调左右上下摆风、地铁日常运行等
开发中的循环场景。 某天,你惹你女朋友生气了, 需要跟她诚恳地道歉。
print("亲爱的,我错了")
print("亲爱的,我错了")
print("亲爱的,我错了")
...(还有99997遍)...
i = 0
while i<10000:
print("亲爱的,我错了")
i+=1 # i+=1 同等于 i= i+1
使用场景:
格式
while 条件:
条件满足时,做的事情1
条件满足时,做的事情2
条件满足时,做的事情3
...(省略)...
demo
i = 0
while i<5:
print("当前是第%d次执行循环"%(i+1))
print("i=%d"%i)
i+=1
结果
当前是第1次执行循环
i=0
当前是第2次执行循环
i=1
当前是第3次执行循环
i=2
当前是第4次执行循环
i=3
当前是第5次执行循环
i=4
# A2Data提供参考代码
i = 1
sum = 0
while i<=100:
sum = sum + i
i += 1
print("1~100的累积和为:%d"%sum)
# 欢迎关注A2Data 转发在看求支持哦
i = 1
sum = 0
while i<=100:
if i%2 == 0:
sum = sum + i
i+=1
print("1~100的累积和为:%d"%sum)
for循环场景下的使用案例。 具体差别,自己动手输出看。
正常for循环
name = 'a2data'
for x in name:
print('----')
print(x)
带有break
name = 'a2data'
for x in name:
print('----')
if x == 'd':
break
print(x)
普通循环如下
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)
name = 'a2data'
for x in name:
print('----')
if x == 'd':
continue
print(x)
i = 0
while i<10:
i = i+1
print('----')
if i==5:
continue
print(i)
总结:
while 条件1:
条件1满足时,做的事情1
条件1满足时,做的事情2
条件1满足时,做的事情3
...(省略)...
while 条件2:
条件2满足时,做的事情1
条件2满足时,做的事情2
条件2满足时,做的事情3
...(省略)...
*
* *
* * *
* * * *
* * * * *
参考代码
i = 1
while i<=5:
j = 1
while j<=i:
print("* ",end='')
j+=1
print("\n")
i+=1
像while循环一样,for可以完成循环的功能。 在Python中 for循环可以遍历任何序列的项目, 如一个列表或者一个字符串等。 请跟着操作如下demo!
demo0
name = 'a2data'
for x in name:
print(x)
demo1
name = 'hello1' # 皮一下很开心
for x in name:
print(x)
if x=='l':
break #退出for循环
else:
print("==for循环过程中,如果没有break则执行==")
demo2
name = 'hello'
for x in name:
print(x)
#if x=='l':
# break #退出for循环
else:
print("==for循环过程中,如果没有break则执行==")
使用if,编写程序,实现以下功能
使用while,完成以下图形的输出
*
* *
* * *
* * * *
* * * * *
* * * *
* * *
* *
*
根据以下信息提示,计算出每月乘坐地铁支出的总费用
提示信息(票价):
一、城市公共电汽车价格调整为: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元;编写程序,请计算出你每月乘坐地铁需要的总费用?
欢迎评论做答。