Python基础+数据科学入门(四)程序控制结构
声明:该博客参考深度之眼的视频课程,如有侵权请联系小编删除博文,谢谢! 若总结有所失误,还请见谅,并欢迎及时指出。
程序控制结构
1.1 条件测试
1.1.1 比较运算
a = 10
b = 8
print(a > b) # True
print(a < b) # False
print(a >= b) # True
print(a <= b) # False
print(a == b) # False
print(a != b) # True#非空
Is = [] #数据结构不为空,即变量不为0,None,False 则条件成立
if Is:print("非空")
else:print("空的")
1.1.2 逻辑运算
#与 或 非
a = 10
b = 8
c = 12
print((a > b) and (b > c)) #False
print((a > b) or (b > c)) #True
print(not(a > b)) #False#复合逻辑运算的优先级 非>与>或
print(True or True and False) #True
print((True or True) and False) #False
1.1.3 存在运算
#元素 in 列表|字符串
cars = ["BYD", "BWM", "AUDI", "TOYOTA"]
print("BWM" in cars) #True
print("BENZ" in cars) #False#元素 not in 列表|字符串
print("BWM" not in cars) #False
print("BENZ" not in cars) #True
1.2 分支结构-- if语句
# 1.单分支
age = 9
if age > 7:print("该上学了")#二分支
if age > 7:print("该上学了")
else:print("接着玩泥巴")#多分支
if age < 7:print("搁家玩泥巴")
elif age < 13:print("上小学")
elif age < 16:print("上中学")
elif age < 19:print("上高中")
elif age < 23:print("上大学")
else:print("工作")#嵌套语句
age = eval(input("请输入年龄:"))
if age > 18:is_public_place = bool(eval(input("公共场合请输入1,非公共场合请输入0")))print(is_public_place)if not is_public_place:print("可以吸烟")else:print("不能吸烟")
else:print("禁止吸烟")
1.3 遍历循环-- for循环
#主要形式:for 元素 in 可迭代对象: 执行语句
#执行过程:从可迭代对象中,依次取出每一个元素,并进行相应的操作
#1.直接迭代——列表[]、元祖()、集合{}、字符串""
graduates = ("李雷", "韩梅梅", "Jim")
for graduate in graduates:print("Congraulations, "+ graduate)
'''
Congraulations, 李雷
Congraulations, 韩梅梅
Congraulations, Jim
'''# 变换迭代——字典
students = {201901: '小明', 201902: '小红', 201903: '小强'}
for k, v in students.items():print(k, v)
for student in students.keys(): #valuesprint(student)'''
201901 小明
201902 小红
201903 小强
201901
201902
201903
''' # range()对象
res = []
for i in range(10000): #取1到9999的数res.append(i**2) #平方 用append加到列表的后面
print(res[:5]) #列表前5个元素 [0, 1, 4, 9, 16]
print(res[-1]) #列表最后一个元素 99980001res = []
for i in range(1,10,2): #1到9,间隔为2的数res.append(i**2)
print(res) #[1, 9, 25, 49, 81]# 循环控制: break和continue
#break结束整个循环
product_scores = [89, 90, 70, 67, 78, 98, 8, 77, 66, 29] #1组10个产品的性能打分
# 如果低于75分超过一个,则该组产品不合格
i = 0
for score in product_scores:if score < 75:i += 1if i == 2:print("抽检产品不合格")break
#contiune 结束本次循环
product_scores = [89, 90, 70, 67, 78, 98, 81, 77, 66, 29] #1组10个产品的性能打分
# 如果低于75分,则警示
print(len(product_scores))
for i in range(len(product_scores)):if product_scores[i] >= 75:continueprint("第{0}个产品,分数为{1},不合格".format(i,product_scores[i]))
'''
10
第2个产品,分数为70,不合格
第3个产品,分数为67,不合格
第8个产品,分数为66,不合格
第9个产品,分数为29,不合格
'''#for与else的配合
#如果for循环全部执行完毕,没有被break中止,则运行else块
product_scores = [89, 90, 70, 67, 78, 98, 81, 77, 66, 29] #1组10个产品的性能打分
# 如果低于75分超过一个,则该组产品不合格
i = 0
for score in product_scores:if score < 75:i += 1if i == 2:print("产品抽检不合格")break
else:print("产品抽检合格")
1.4 无限循环-- while循环
#为什么要用while循环
#经典题目:猜数字
albert_age = 18
guess = int(input(">>:"))
while guess != albert_age:if guess > albert_age:print("猜大了")elif guess < albert_age:print("猜小了")guess = int(input(">>:"))
print("猜对了") #while与风向标
albert_age = 18
flag = True
while flag:guess = int(input(">>:"))if guess > albert_age:print("猜大了")elif guess < albert_age:print("猜小了")else:print("猜对了")flag = False flag = True
while flag:passwhile flag:passwhile flag:flag = False #逐层判断,当flag为false时,循环会逐层退出#while与循环控制break、continue
albert_age = 18
while True:guess = int(input(">>:"))if guess > albert_age:print("猜大了")elif guess < albert_age:print("猜小了")else:print("猜对了")break #当满足要求,就跳出循环#输出10以内的奇数
i = 0
while i < 10:i += 1if i % 2 == 0:continueprint(i)#while与else
#如果while虚幻全部执行完毕,没有被break中止,则运行else块
count = 0
while count <= 5:count += 1print("Loop",count)
else:print("循环正常执行完了")
'''
Loop 1
Loop 2
Loop 3
Loop 4
Loop 5
Loop 6
循环正常执行完了
'''# 删除列表中的特定值
pets = ["dog", "cat", "dog", "pig", "goldfish", "rabbit", "cat"]
while "cat" in pets:pets.remove("cat")
pets#将未读书籍列表中书名分别输出后,存入已读书籍列表
not_read = ["红楼梦", "水浒传", "三国演义", "西游记"]
have_read = []
while not_read:book = not_read.pop()have_read.append(book)print("我已经读过《{}》了".format(book))
print(not_read)
print(have_read)
'''
我已经读过《西游记》了
我已经读过《三国演义》了
我已经读过《水浒传》了
我已经读过《红楼梦》了
[]
['西游记', '三国演义', '水浒传', '红楼梦']
'''
1.5 控制语句注意问题
#尽量减少多层嵌套 可读性差,容易把人搞疯
if 条件:执行语句if 条件:执行语句if ...#避免死循环
#while True:
# print("天地之浩渺,时间之无限")#避免死循环
#while True:
# print("天地之浩渺,时间之无限")#如果条件判断表达式过于复杂 出现太多的not、and、or等 导致可读性大打折扣 可考虑将条件封装为函数
a, b, c, d, e = 10, 8, 6, 2, 0
if (a > b) and (c > d) and (not e):print("我已经晕鸟")
numbers = (10, 8, 6, 2, 0)
def jude(num):a, b, c, d, e = numx = a > by = c > dz = not ereturn x and y and z
if jude(numbers):print("就是这个feel,biu倍儿爽")
Python基础+数据科学入门(四)程序控制结构相关推荐
- 【深度之眼Python基础+数据科学入门训练营】第四章 组合数据类型
第四章 组合数据类型 4.1 列表 4.1.1 列表的表达 序列类型:内部元素有位置关系,能通过位置序号访问其中元素 列表是一个可以使用多种类型元素,支持元素的增.删.查.改操作的序列类型 ls = ...
- 【深度之眼Python基础+数据科学入门训练营】第八章 文件、异常和模块
第八章 文件.异常和模块 实际应用中,我们绝大多数的数据都是通过文件的交互完成的 8.1 文件的读写 8.1.1 文件的打开 文件的打开通用格式 with open("文件路径", ...
- Python基础+数据科学入门(七)
声明:该博客参考深度之眼的视频课程,如有侵权请联系小编删除博文,谢谢! 若总结有所失误,还请见谅,并欢迎及时指出. 文件.异常和模块 1.1 文件的读写 1.1.1 文件的打开 文件的打开通用格式 w ...
- Python基础+数据科学入门(三)组合数据类型
声明:该博客参考深度之眼的视频课程,如有侵权请联系小编删除博文,谢谢! 若总结有所失误,还请见谅,并欢迎及时指出. 组合数据类型 1.1 列表 1.1.1 列表的表达 列表类型:内部元素有位置关系,能 ...
- Python基础+数据科学入门(六)类
声明:该博客参考深度之眼的视频课程,如有侵权请联系小编删除博文,谢谢! 若总结有所失误,还请见谅,并欢迎及时指出. 类-面向对象编程 #创建类 class Cat(): #初始化属性def __ini ...
- 使用Python进行数据科学入门
数据科学是计算领域一个令人兴奋的新领域,它围绕分析,可视化,关联和解释我们的计算机收集的有关世界的无限信息而建立. 当然,称其为"新"领域有点不屑一顾,因为该学科是统计,数据分析和 ...
- usagestatsmanager获取正在运行应用_用Python构建数据科学Web应用程序
在本文中,我将向你展示如何使用streamlit python库快速构建一个简单的数据驱动web应用程序,只需几行代码. 作为一名数据科学家或机器学习工程师,能够部署我们的数据科学项目是很重要的.传统 ...
- python 搭建web应用程序_用Python构建数据科学Web应用程序
作者|Chanin Nantasenamat 编译|VK 来源|Towards Data Science 在本文中,我将向你展示如何使用streamlit python库快速构建一个简单的数据驱动we ...
- python loadtxt_Python 数据科学入门2:Matplotlib
第七章 从文件加载数据 很多时候,我们想要绘制文件中的数据. 有许多类型的文件,以及许多方法,你可以使用它们从文件中提取数据来图形化. 在这里,我们将展示几种方法. 首先,我们将使用内置的csv模块加 ...
- Python 数据科学入门教程:机器学习:回归
Python 数据科学入门教程:机器学习:回归 原文:Regression - Intro and Data 译者:飞龙 协议:CC BY-NC-SA 4.0 引言和数据 欢迎阅读 Python 机器 ...
最新文章
- Android Studio2.2.3 使用教程-入门篇
- vrml场景实例代码_高并发的中断下半部tasklet实例解析
- 面向Java应用的快速Web服务支持工具 - Netrifex
- opencv书籍调研
- .NET 6新特性试用 | DateOnly和TimeOnly类型
- 从图(Graph)到图卷积(Graph Convolution):漫谈图神经网络 (二)
- mysql数据库表字段使用DESC等关键字报错及解决方法
- VC++对话框里新添加的控件运行时不显示
- anaconda怎么切换目录_Anaconda更改工作路径
- SATA、mSATA 、PCIe和M.2——SSD硬盘的接口详解
- python读取163邮件内容_python 3.x 163邮箱登陆,邮件读取
- NiFi用户指南文档分析(2)
- 【VUE】实现自动滚动
- 简谈Oracle体系结构
- 锂电池电量百分比计算_锂电池充放电理论及电量计算方法详解
- 禁用linux系统日志,清除linux系统日志,禁用linux系统日志,删除linux日志
- Java实现 对ip白名单的限制
- IT审计第三方服务--金 融 机 构
- 盘点2013:21款最优秀的开源数据库
- OSSEC功能进阶学习——OSSEC+ELK联动