Python语言程序设计(8)——if语句的嵌套
if语句的嵌套1 if语句嵌套if语句嵌套指的是if语句内部包含if语句,其格式如下:if 条件表达式1:代码块1if 条件表达式2:代码块2上述if语句嵌套的格式中,先判断外层if语句中条件表达式1的结果是否为True,如果结果为True,则执行代码块1,再判断内层if的条件表达式2的结果是否为True,如果条件表达式2的结果为True,则执行代码块2。针对if嵌套语句,有两点需要说明:(1)
if语句的嵌套
1 if语句嵌套
if语句嵌套指的是if语句内部包含if语句,其格式如下:
if 条件表达式1:
代码块1
if 条件表达式2:
代码块2
上述if语句嵌套的格式中,先判断外层if语句中条件表达式1的结果是否为True,如果结果为True,则执行代码块1,再判断内层if的条件表达式2的结果是否为True,如果条件表达式2的结果为True,则执行代码块2。
针对if嵌套语句,有两点需要说明:
(1) if语句可以多层嵌套,不仅限于两层。
(2)外层和内层的if判断都可以使用if语句、f…ese 语句和elif语句。
根据年份和月份计算当月一共有多少天,示例代码如下:
year = int (input ("请输入年份: "))
month = int (input("请输入月份:"))
if month in [1,3, 5,7, 8, 10, 12]:
print (f" {year}年{month}月有31天")
elif month in[4, 6,9, 11] :
print (f"{year}年(month}月有30天")
elif month == 2:
if year8400 ==0 or(year84 ==0and year8100!=0) :
print (f"{year}年{month}月有29天")
else:
print (f"{year}年{month}月有28天")
上述代码中首先定义了表示年份和月份的变量year和month,分别用于接收用户输人的年份和月份,然后对月份进行判断:若月份为1、3、5、7. 8、10、12,输出“年月有31天”;若月份为4、6、9、11,输出“年月有30天”;若月份为2月,则需要对年份进行判断:年份为闰年时输出“年月有29天”,年份为平年时输出“*年月有28天”。
2 实例: 模拟乘客进站流程
火车和地铁的出现极大地方便了人们的出行,但为了防止不法分子,保障民众安全,进站乘坐火车或者乘坐地铁之前,需要先接受安检。部分车站先验票后安检,亦有车站先安检后验票。
以先验票后安检的车站为例,乘客的进站流程如下:
(1)验票:检查乘客是否购买了车票。
如果没有车票,不允许进站。
如果有车票,对行李进行安检。
(2)行李安检:检查乘客是否携带危险品。
如果携带了危险品,进行提示,不允许上车。
如果没有携带危险品,顺利进站。
本实例要求编写程序,模拟乘客进站流程。
【参考代码】
"""
坐火车或者地铁的实际情况是:先进行安检如果安检通过才会判断是否有车票,或者是先检查是否有车票之后才会进行安检,
即实际的情况某个判断是再另外一个判断成立的基础上进行的,这样的情况该怎样解决呢?
"""
ticket = 1 # 用1代表有车票,0代表没有车票
knife_length = 9 # 刀子的长度,单位为cm
if ticket == 1:
print("有车票,可以进站")
if knife_length < 10:
print("通过安检")
print("终于可以见到Ta了,美滋滋~~~")
else:
print("没有通过安检")
print("刀子的长度超过规定,等待警察处理...")
else:
print("没有车票,不能进站")
print("亲爱的,那就下次见了,一票难求啊~~~~(>_<)~~~~")
3 实例:快递计费系统
快递行业的高速发展,人们邮寄物品变得方便快捷。某快递点提供华东地区、华南地区、华北地区的寄件服务,其中华东地区编号为01、华南地区编号为02、华北地区编号为03。该快递点寄件价目表具体如表所示。
表 寄件价目表
地区编号 | 首重/元(≤2kg) | 续重/(元/kg) |
---|---|---|
华东地区(01) | 13 | 3 |
华南地区(02 ) | 12 | 2 |
华北地区(03) | 14 | 4 |
本实例要求根据表3-4提供的数据编写程序,实现快递计费系统。
【参考代码】
"""
帮一家快递点开发一个快递价格计费系统,业务如下:
提示用户输入:1.重量。2.地区编号
首重 3公斤
3公斤以内
编号01:华东地区 13元 华南地区 12元 华北地区 14元
3公斤以外
华东地区3元/kg 华南地区 2元/kg 华北地区4元/kg
"""
# weight = int(input("请输入快递重量:"))
weight = float(input("请输入快递重量:"))
print('编号01:华东地区 编号02:华南地区 编号03:华北地区')
place = input("请输入地区编号:")
if weight <= 2:
if place == '01':
print('快递费为13元')
elif place == '02':
print('快递费12元')
elif place == '03':
print('快递费14元')
else:
excess_weight = weight - 2
if place == '01':
many = excess_weight * 3 + 13
print('快递费为%.1f元' % many)
elif place == '02':
many = excess_weight * 2 + 12
print('快递费为%.1f元' % many)
elif place == '03':
many = excess_weight * 4 + 14
print('快递费为%.1f元' % many)
超全面的测试IT技术课程,0元立即加入学习!有需要的朋友戳:
腾讯课堂测试技术学习地址
欢迎转载,但未经作者同意请保留此段声明,并在文章页面明显位置给出原文链接。
更多推荐
所有评论(0)