1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > Python语言程序设计(8)——if语句的嵌套

Python语言程序设计(8)——if语句的嵌套

时间:2022-05-29 06:07:01

相关推荐

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语句可以多层嵌套,不仅限于两层。

(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 # 刀子的长度,单位为cmif ticket == 1:print("有车票,可以进站")if knife_length < 10:print("通过安检")print("终于可以见到Ta了,美滋滋~~~")else:print("没有通过安检")print("刀子的长度超过规定,等待警察处理...")else:print("没有车票,不能进站")print("亲爱的,那就下次见了,一票难求啊~~~~(>_<)~~~~")

3 实例:快递计费系统

快递行业的高速发展,人们邮寄物品变得方便快捷。某快递点提供华东地区、华南地区、华北地区的寄件服务,其中华东地区编号为01、华南地区编号为02、华北地区编号为03。该快递点寄件价目表具体如表所示。

表 寄件价目表

本实例要求根据表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 - 2if place == '01':many = excess_weight * 3 + 13print('快递费为%.1f元' % many)elif place == '02':many = excess_weight * 2 + 12print('快递费为%.1f元' % many)elif place == '03':many = excess_weight * 4 + 14print('快递费为%.1f元' % many)

超全面的测试IT技术课程,0元立即加入学习!有需要的朋友戳:

腾讯课堂测试技术学习地址

欢迎转载,但未经作者同意请保留此段声明,并在文章页面明显位置给出原文链接。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。