ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

8.【Python编程】条件控制结构

2022-01-12 20:06:59  阅读:290  来源: 互联网

标签:100ml Python 编程 控制结构 else print 列表 驾驶员


目录

8.【Python编程】条件控制结构

备注: 本教程主要使用Python3.6在jupyter notebook上编程实现。Python环境配置参考《【Python学习】Windows10开始你的Anaconda安装与Python环境管理》或者《【Python学习】纯终端命令开始你的Anaconda安装与Python环境管理》

8.1 代码块与分支的概念

python的代码块是通过不同的缩进来划分的,相同的缩进表示相同的代码块
python通过if语句实现条件分支。其可以划分为:

  • 单向判断:
if condition_1:
    # 分支1
# 主代码
  • 双向判断:
if condition_1:
    # 分支1
else:
    # 分支2
# 主代码
  • 多向判断:
if condition_1:
    # 分支1
elif condition_2:
    # 分支2
...
else:
    # 分支3

注意
1、每个条件后面要使用冒号 :,表示接下来是满足条件后要执行的语句块。
2、使用缩进来划分语句块,相同缩进数的语句在一起组成一个语句块。
3、在Python中没有switch – case语句。

例子:

# 输入年龄,判断是否成年了
age = input("请输入你的年龄")
age = int(age) # 将字符串转换为整数

if age <=0:
    print("请输入大于0的整数!")
elif age<18:
    print("你还是一个未成年人。")
else:
    print("你已经成年了")
请输入你的年龄21
你已经成年了
# 输入一个数字,判断这个数字是正数、负数或零
num = float(input("输入一个数字: "))
if num > 0:
    print(num, "是正数")
elif num == 0:
    print(num, "是零")
else:
    print(num, "是负数")
输入一个数字: 21.6
21.6 是正数

判断是否为酒后驾车
如果规定,车辆驾驶员的血液酒精含量小于 20mg/100ml 不构成酒驾;酒精含量大于或等于 20mg/100ml 为酒驾;酒精含量大于或等于 80mg/100ml 为醉驾。先编写 Python 程序判断是否为酒后驾车。

ac = int(input("输入驾驶员每100ml血液的酒精含量(mg):"))
if ac < 20:
    print("该驾驶员不构成酒驾")
elif ac < 80:
    print("该驾驶员已构成酒驾")
else:
    print("该驾驶员已构成醉驾")
输入驾驶员每100ml血液的酒精含量(mg):120
该驾驶员已构成醉驾

8.2 if的嵌套

在嵌套 if 语句中,可以把 if…elif…else 结构放在另外一个 if…elif…else 结构中。需要注意的是,在相互嵌套时,一定要严格遵守不同级别代码块的缩进规范

if condition_1:
    # 分支1
    if condition_2:
        # 分支2
    elif condition_3:
        # 分支3
    else:
        # 分支4
elif condition_4:
    # 分支5
else:
    # 分支6

判断是否为酒后驾车
如果规定,车辆驾驶员的血液酒精含量小于 20mg/100ml 不构成酒驾;酒精含量大于或等于 20mg/100ml 为酒驾;酒精含量大于或等于 80mg/100ml 为醉驾。先编写 Python 程序判断是否为酒后驾车。

ac = int(input("输入驾驶员每100ml血液的酒精含量(mg):"))
if ac < 20:
    print("该驾驶员不构成酒驾")
else:
    if ac < 80:
        print("该驾驶员已构成酒驾")
    else:
        print("该驾驶员已构成醉驾")

输入驾驶员每100ml血液的酒精含量(mg):120
该驾驶员已构成醉驾

8.3 列表推导式中的if语句

列表推导式是Python构建列表(list)的一种快捷方式,可以使用简洁的代码就创建出一个列表
列表推导式是通过一个可迭代对象(例如:range(15))来生成列表的
列表推导式会遍历后面的可迭代对象,然后按照for前的表达式进行运算,生成最终的列表
如果有if条件语句,for遍历后紧跟着进行条件判断
如果有多个for循环,则最终的数据数量为多个for循环的笛卡尔积
可以进行嵌套的列表推导,与嵌套for循环的原理相同

  • 当只有 if 时,列表生成式构造为 [最终表达式 - (范围选择 - 范围过滤)]
# 创建一个列表,该列表由0~14的所有偶数组成
list1 = [i for i in range(15) if i%2 ==0] # 带if条件的列表推导式
print("list1=",list1)
list1= [0, 2, 4, 6, 8, 10, 12, 14]
  • 当同时有 ifelse时,列表生成式构造为 [最终表达式 - 条件分支判断 - 范围选择]
# 给定一个列表[1,3,6,8,12,15,20,19,33,38,100],将列表中的偶数除以2,奇数则直接置0
list2 = [1,3,6,8,12,15,20,19,33,38,100]
list3 = [int(num/2) if num%2 ==0 else 0 for num in list2] # 带if-else条件的列表推导式
print("list3=",list3)
list3= [0, 0, 3, 4, 6, 0, 10, 0, 0, 19, 50]

标签:100ml,Python,编程,控制结构,else,print,列表,驾驶员
来源: https://blog.csdn.net/m0_37201243/article/details/122460968

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有