Python编程及项目开发课件 第1-2章 Python基础_第1页
Python编程及项目开发课件 第1-2章 Python基础_第2页
Python编程及项目开发课件 第1-2章 Python基础_第3页
Python编程及项目开发课件 第1-2章 Python基础_第4页
Python编程及项目开发课件 第1-2章 Python基础_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PROGRAMMINGFUNDAMENTALSChapter01Python概述从入门到实践的编程之旅简洁优雅功能强大易于学习CONTENTS目录01Python语言概述了解Python作为高级编程语言的基本概念与核心优势02Python的发展与特点探索Python的演进历程与五大核心特性03Python的应用领域全面展示Python在数据分析、AI、Web开发等领域的应用04Python开发环境配置详细讲解Python安装、环境变量配置与conda管理05Python开发工具介绍JupyterNotebook与PyCharm两大主流开发工具06编程实践与项目开发通过实际案例掌握Python编程的基本流程与调试技巧本章将带您从零开始,系统掌握Python编程基础01/PYTHONOVERVIEWPython语言概述什么是Python?Python(发音:/ˈpaɪθən/)是一种高级、面向对象的解释性编程语言,其语法优雅、功能强大,具有高效率的数据结构。它是学习编程的最佳选择之一。程序设计语言分类🔧机器语言二进制指令⚙️汇编语言助记符指令🐍高级语言Python属于此类TIOBE排行榜连续多年位居榜首适合初学者语法简洁易上手Python的核心优势语法优雅简洁功能强大丰富数据结构高效跨平台兼容设计理念"优雅"、"明确"、"简单"——Python的设计哲学让编程变得愉悦而高效02/DEVELOPMENTHISTORYPython的发展历程演进时间线1991年诞生Python由荷兰人GuidovanRossum发明,最初作为ABC语言的继承者,目标是创造一种简洁、易读的编程语言。2000年Python2.xPython2.0发布,引入了垃圾回收机制和列表推导式等重要特性,成为早期广泛使用的版本。2008年Python3.xPython3.0发布,虽然不完全向后兼容,但带来了更简洁的语法和更强大的功能,成为现代Python开发的标准。2020年Python2停止支持Python2.x系列正式停止维护,Python3.x成为唯一支持的版本,最新版本已达到3.13。版本建议:本书案例使用Python3.9版本,建议初学者直接学习Python3.x系列。"胶水语言"Python被称为"胶水语言",因为它能够轻松地将其他语言(尤其是C/C++)编写的模块结合在一起。丰富的库拥有海量第三方库,覆盖各个领域接口支持众多软件包提供Python调用接口教育首选国内外高校广泛采用作为入门语言持续领先Python3.x的快速发展进一步巩固了其在编程语言中的重要地位02/COREFEATURESPython的核心特点语法简单SimpleSyntaxPython语言最大的特点就是简单、容易学习。语法简洁明了,接近自然语言,非常适合非专业人员入门。#HelloWorldprint("Hello,World!")面向对象Object-Oriented完全支持面向对象编程,包括继承、重载、派生、多继承等特性,增强源代码的复用性。支持类和对象封装与继承多态性支持可移植PortablePython具有源代码开放的特性,程序可以不加修改地运行在不同平台上。WindowsLinuxmacOSVMS解释性InterpretedPython程序不需要编译成二进制代码,直接从源文件运行,解释器将源代码转换为字节码执行。源代码.py字节码.pyc机器码执行可扩展性ExtensiblePython提供C/C++接口,可以方便地使用C/C++扩展Python功能,编写Python扩展模块。C/C++扩展接口API函数支持模块嵌入能力设计理念Python秉承"优雅"、"明确"、"简单"的设计哲学优雅明确简单03/APPLICATIONAREASPython的应用领域数据分析Python已成为数据分析师和数据科学家的首选工具,在数据处理、统计分析、可视化等方面展现强大功能。PandasNumPyMatplotlib金融医疗电商人工智能Python凭借丰富的库和框架,在机器学习、深度学习、自然语言处理等领域发挥关键作用。TensorFlowPyTorchScikit-learn图像识别NLP推荐系统数据库编程Python支持主流数据库系统,通过SQLAlchemy等ORM工具与数据库通信,提供完整的SQL环境。MySQLOracleSQLite达梦金仓SQLAlchemyWeb开发Python凭借简洁语法和丰富框架,满足从小型应用到大型系统的开发需求。DjangoFlaskFastAPI全栈开发API服务微服务教育领域Python的易读性和易学性使其成为计算机科学教育的首选语言,许多中小学和高校都采用Python作为入门语言。帮助学生快速掌握编程基础广泛应用从数据分析到人工智能,从Web开发到科学计算,Python几乎涵盖了所有技术领域04/DEVELOPMENTENVIRONMENTPython开发环境配置Python安装从官网下载安装1访问官网打开/downloads下载Python3.9版本2运行安装程序双击下载的程序,选择安装方式(默认/定制安装)3配置选项选择安装组件、安装路径,点击Install开始安装环境变量配置Windows系统配置1打开系统属性右键"此电脑"→属性→高级系统设置2配置环境变量点击"环境变量"→编辑Path变量→添加Python安装路径3验证安装打开命令行,输入python回车,显示版本信息即成功Anaconda安装推荐方案Anaconda是开源的Python发行版,集成了大量科学计算库,适合数据分析和可视化。下载地址:/download国内镜像:清华大学镜像站Conda环境管理condacreate--nameenv_namepython=3.9创建新环境condaactivateenv_name激活环境condadeactivate退出环境condaenvlist查看所有环境05/DEVELOPMENTTOOLS开发工具:JupyterNotebook什么是JupyterNotebook?JupyterNotebook是一个开源的Web应用程序,允许用户创建和共享包含实时代码、方程、可视化内容和文本的文档。它支持多种编程语言,尤其是Python。核心功能交互式执行实时运行代码并查看结果Markdown支持丰富的文本格式化功能动态可视化支持图表、图像展示易于分享支持导出为多种格式安装与启动检查安装condalistjupyter安装命令condainstalljupyter启动NotebookjupyternotebookJupyterNotebook界面直观的Web界面,支持文件浏览、Notebook创建和代码编辑单元格类型Code编写和执行Python代码Markdown编写文本、注释和说明Heading添加标题,使文档更清晰05/DEVELOPMENTTOOLS开发工具:PyCharm什么是PyCharm?PyCharm是由JetBrains打造的专业PythonIDE,带有一整套帮助用户提高开发效率的工具,是Python开发的首选IDE之一。PyCharm核心特点智能提示代码补全、语法高亮、错误检测调试工具强大的断点调试和变量查看项目管理工程组织、文件导航、版本控制Web开发Django、Flask框架专业支持版本控制Git、SVN等VCS集成高度可定制主题、快捷键、插件扩展PyCharm界面专业的IDE界面,功能丰富且易于使用版本选择Professional专业版全功能IDE,支持Web开发、数据库工具等高级功能Community社区版免费开源,包含Python开发的核心功能建议:初学者可先使用社区版,需要高级功能时再升级到专业版06/PROGRAMMINGPRACTICE简单编程示例示例:两数相加通过一个简单的程序,展示Python编程的完整流程:创建工程→编写程序→运行程序→调试程序#-*-coding:UTF-8-*-num1=input('输入第一个数字:')num2=input('输入第二个数字:')#求和sum=float(num1)+float(num2)#显示计算结果print('sum=%d'%sum)编程流程1创建工程File→NewProject2创建文件右键→New→PythonFile3编写代码在编辑器中输入程序4运行程序右键→Run程序调试PyCharm提供强大的调试功能,帮助开发者分析和修复程序问题。设置断点点击代码左侧灰色槽,标记断点位置启动调试点击Debug按钮或Shift+F9查看变量在Debugger窗口查看变量状态调试技巧使用断点暂停程序执行单步执行观察程序流程查看变量值变化06/PROJECTDEVELOPMENT项目开发实践:简易购物小票生成器功能需求1输入商品名称、单价和数量2计算商品的总价3根据折扣规则计算最终实付金额4输出完整的购物小票信息程序流程用户输入依次输入商品信息(名称、单价、数量)数据处理计算商品总价、折扣金额结果输出格式化打印购物小票代码实现#-*-coding:UTF-8-*-print("===欢迎使用简易购物小票生成器===")#初始化商品列表和总金额products=[]total=0.0#输入商品信息name=input("请输入商品名称:")price=float(input("请输入商品单价(元):"))quantity=int(input("请输入购买数量:"))total=price*quantity#计算折扣(满100元打9折)iftotal>=100:total=total*0.9#输出购物小票print("\n===购物小票===")print("{:<10}{:<10}{:<10}{:<10}".format("商品名称","单价","数量","总价"))print("{:<10}{:<10.2f}{:<10}{:<10.2f}".format(name,price,quantity,total))print("===感谢您的光临!===")折扣规则满100元打9折,鼓励用户多购买格式化输出使用format()方法美化小票显示PROGRAMMINGFUNDAMENTALSChapter02Python语言基础01Python语言基础与环境了解Python文件类型、编码规范与基本操作02Python数据类型详解掌握Number、String等核心数据类型03运算符与表达式掌握各类运算符的使用方法与优先级04Python核心数据结构深入理解列表、元组、字典与集合05程序控制结构掌握选择结构与循环结构的编程技巧06项目实战演练通过实际案例巩固所学知识CONTENTS目录01Python语言基础与环境了解Python文件类型、编码规范与基本操作CHAPTER02Python文件类型与编码规范Python文件类型.py源代码文件Python源代码文件,由解释器直接执行,无需编译.pyc字节码文件编译后的二进制字节码,执行速度快,可隐藏源码importpy_compilepy_pile('文件名.py').pyo优化代码文件优化编译后的程序,适用于嵌入式系统python-O-mpy_compile文件名.py编程运行方式交互模式>>>print('欢迎使用Python')欢迎使用Python>>>exit()脚本模式c:\users>pythontest.pyPython标识符规则1.必须以下划线(_)或字母开头,后接任意数量的下划线、字母或数字2.Python3.x支持Unicode字符,汉字也可作为变量名3.变量名区分大小写(Abc和abc是两个不同变量)4.禁止使用Python保留字(关键字)常用保留字:anddelforisraiseasserteliffromlambdareturnbreakelseglobalnottryclassexceptiforwhile行和缩进Python使用缩进表示代码块,而非大括号{}。同一代码块的语句必须有相同的缩进空格数。ifScore>90:print("A")else:print("B")注释规范#coding=utf-8#这是单行注释'''这是多行注释作者:***创作时间:2025-05-01'''CHAPTER02输入输出与变量赋值输出语句print()print()函数将数据显示到屏幕,支持输出多种数据类型。#输出数值常量print(10)#输出:10#输出字符串常量print("HelloWorld")#输出:HelloWorld#输出变量x=100print(x)#输出:100#输出多个变量print("a=",a,"b=",b)输入语句input()input()函数获取用户输入,返回字符串类型,需要时用int()转换。#输入字符串name=input('请输入您的名字:')print('你刚才输入的是%s'%name)#输入数字并转换temp=input('请输入一个数字,a=')a=int(temp)temp=input('请输入第二个数字,b=')b=int(temp)c=a+bprint('a+b=%d'%c)Python变量赋值方式1.简单赋值x=2为一个变量建立对象引用2.序列赋值a,b=1,2(a,b)=10,20[a,b]=[30,'abc'](x,y,z)='abc'x,*y='abcd'一次性为多个变量赋值,支持元组、列表、字符串3.多目标赋值a=b=c=10多个变量引用同一个对象4.增强赋值a=5a+=10#等价于a=a+10#结果:a=15运算符与赋值相结合动态数据类型特性Python是动态类型语言,变量类型在运行时自动决定,无需事先声明。变量存储的是对象的引用,而非值本身。02Python数据类型详解掌握Number、String等核心数据类型CHAPTER02数字类型与字符串操作Number数字类型int整型不带小数点的整数1,100,-8080,0float浮点型带小数点的数1.23,3.14,2.5e2bool布尔型只有True和FalseTrue,Falsecomplex复数实部+虚部形式4+3j,2-5j#使用type()查询变量类型a,b,c,d=10,2.5,True,4+3jprint(type(a),type(b),type(c),type(d))#输出:字符串表示方式#单引号和双引号(等效)'abc',"abc"#单双引号可以互相嵌套'123"abc'#输出:'123"abc'"123'abc"#输出:"123'abc"#三引号表示多行字符串str='''thisisamultilinestring'''字符串索引与切片字符串索引word='Hello'print(word[0],word[4])#Hoprint(word[-1],word[-5])#oHH0/-5e1/-4l2/-3l3/-2o4/-1字符串切片[头下标:尾下标]word='Ilovepython'word[1:5]#'love'word[:]#'Ilovepython'word[5:]#'python'常用转义字符\反斜线\'单引号\"双引号\n换行符\t制表符\r回车符CHAPTER02变量及其赋值序列赋值>>>a,b=1,2#使用省略圆括号的元组赋值>>>a,b(1,2)>>>(a,b)=10,20#使用元组赋值>>>a,b(10,20)>>>[a,b]=[30,'abc']#使用列表赋值>>>a,b(30,'abc')直接赋值简单赋值用于为一个变量建立对象引用。例如:x='2'多目标赋值增强赋值>>>a=5>>>a+=10#等价于a=a+10>>>a15>>>a,b=1,2#使用省略圆括号的元组赋值>>>a,b(1,2)>>>(a,b)=10,20#使用元组赋值>>>a,b(10,20)>>>[a,b]=[30,'abc']#使用列表赋值>>>a,b(30,'abc')03运算符与表达式掌握各类运算符的使用方法与优先级CHAPTER02算术、赋值与逻辑运算符算术运算符+加法-减法*乘法/除法%取余//取整**幂运算例2-1:算术运算符实例print("%d+%d=%d"%(3,5,3+5))#3+5=8print("%d-%d=%d"%(5,2,5-2))#5-2=3print("%d*%d=%d"%(5,2,5*2))#5*2=10print("%d/%d=%.1f"%(10,2,10/2))#10/2=5.0print("%d//%d=%d"%(10,3,10//3))#10//3=3print("%d**%d=%d"%(10,3,10**3))#10**3=1000print("%d%%%d=%d"%(10,3,10%3))#10%3=1赋值运算符=直接赋值+=加法赋值-=减法赋值*=乘法赋值/=除法赋值**=幂赋值//=整除赋值例2-2:赋值运算符实例a=21c=0c=a+10#c=31c+=a#c=52c*=a#c=1092c/=a#c=52.0c%=a#c=10c**=2#c=100c//=a#c=4CHAPTER02算术、赋值与逻辑运算符逻辑运算符and逻辑与XandY:X,Y同时为真返回True,否则返回Falseor逻辑或XorY:X,Y只要一个为真返回True,都为假返回Falsenot逻辑非notX:X为真返回False,X为假返回True例2-3:逻辑运算符实例a=10b=20if(aandb):print("aandbaretrue")if(aorb):print("Eitheraorbistrue")a=0ifnot(aandb):print("Eitheraisnottrueorbisnottrue")逻辑运算符应用要点•0、空字符串、空列表等被视为False•非零数字、非空对象被视为True•逻辑运算结果返回最后一个判断的值defauthorize(user,required_permission):

ifuser.role=='admin'orrequired_permissioninuser.permissions:returnTrueelse:returnFalsedefvalidate_input(data):#检查输入非空且长度合适

ifdataandlen(data)>3andnotdata.isdigit():#使用and和notreturnTrueelse:

returnFalseCHAPTER02关系、字符串与位运算符关系运算符==等于!=不等于>大于<小于>=/<=大于等于/小于等于3<6and3==6#False3>6or3<6#Truenot3.8<=3#True3<4<5#True(链式比较)字符串运算符+字符串连接*重复输出[]索引获取字符[:]截取子串in成员判断%格式化字符串例2-4:文件名改名案例#原始文件名filename="image_001_2025-08-25.jpg"raw_path=r"C:\Users\Project\images\raw"#1.提取日期并生成新文件名date_part=filename[10:20]new_filename=date_part+"_processed.jpg"#2.校验文件类型valid_extensions=('.jpg','.png')iffilename[-4:]invalid_extensions:print("文件类型合法✅")#3.生成日志分隔线separator="="*40log_title="PROCESSLOG:"+"图像批量处理"#4.格式化日志success_count=18error_count=2log_content="""处理统计:成功:%d个文件失败:%d个文件成功率:%.1f%%"""%(success_count,error_count,(success_count/(success_count+error_count))*100)CHAPTER02位运算符和表达式关系运算符&按位与~按位取反|按位或<<左移>>例2-5:右移按位与:两个操作数X、Y按相同位置的二进制位进行与操作,两个位置上都是1时,位的与结果为1,否则为0。按位或:两个操作数X、Y按相同位置的二进制位进行或操作,只要有一个位置上是1其结果为1,否则为0。按位取反:操作数X的二进制位中,1取反为0,0取反为1,符号位也参与操作。按位左移:两个操作数X、Y,将X按二进制形式向左移动Y位,末尾补0,符号位保持不变。向左移动一位等同于乘以2。按位右移:两个操作数X、Y,将X按二进制形式向右移动Y位,符号位保持不变。向右移动一位等同于除以2。#定义传感器状态常量

TEMP_SENSOR=1<<0

#0001

HUMIDITY_SENSOR=1<<1

#0010

LIGHT_SENSOR=1<<2

#0100

#初始状态,假设所有传感器都关闭

sensor_status=0b0000

#启用温度和湿度传感器

sensor_status|=TEMP_SENSOR

#开启温度传感器

sensor_status|=HUMIDITY_SENSOR

#开启湿度传感器

print(f"传感器状态:{bin(sensor_status)}")

#输出:0b11

print(f"温度传感器开启:{bool(sensor_status&TEMP_SENSOR)}")

#输出:True

print(f"湿度传感器开启:{bool(sensor_status&HUMIDITY_SENSOR)}")

#输出:True

print(f"光照传感器开启:{bool(sensor_status&LIGHT_SENSOR)}")

#输出:False

#关闭湿度传感器

sensor_status&=~HUMIDITY_SENSOR

#关闭湿度传感器

print(f"更新后的传感器状态:{bin(sensor_status)}")

#输出:0b1

CHAPTER02运算符优先级与常用函数运算符优先级1**幂运算2~按位取反3-负号4*/%//乘除取余5+-加减6<<>>移位7&按位与8^按位异或9|按位或10<=<>>=关系运算11==!=相等判断12notandor逻辑运算数据类型转换函数int(x)转整数float(x)转浮点str(x)转字符串eval(str)计算表达式chr(x)整数转ASCIIord(x)字符转ASCIIhex(x)转十六进制oct(x)转八进制tuple(s)转元组list(s)转列表set(s)转集合dict(d)转字典math模块常用函数abs(x)绝对值pow(x,y)x的y次幂sqrt(x)平方根exp(x)e的x次幂log10(x)对数floor(x)向下取整ceil(x)向上取整sin(x)正弦字符串处理函数upper()转大写lower()转小写split()切分replace()替换find()查找count()计数strip()去空格format()格式化04Python核心数据结构深入理解列表、元组、字典与集合CHAPTER2列表与元组列表List列表是Python中最通用的序列数据结构,是有序集合,数据项不需要相同类型。创建与访问list1=['physics','chemistry',2016,2017]list2=[1,2,3,4,5]print(list1[0])#physicsprint(list2[1:4])#[2,3,4]元素赋值与删除x=[1,2,3,4,5]x[2]=10#[1,2,10,4,5]delx[2]#[1,2,4,5]元组Tuple元组与列表类似,但内容不可修改(不可变序列)。#创建元组te=(1,2,3)te=1,2,3#省略括号#单元素元组(必须加逗号)te=(42,)#(42,)#元组转列表再排序te1=(1,3,2,4,5)te2=list(te1)te2.sort()te1=tuple(te2)#(1,2,3,4,5)列表常用方法append()末尾追加count()统计次数extend()扩展列表insert()插入元素pop()移除并返回remove()移除匹配项reverse()反向存储sort()排序index()查找位置len()元素个数te=[1,2,3,4]te.append(7)#[1,2,3,4,7]te.count(2)#1te.reverse()#[7,4,3,2,1]te.sort()#[1,2,3,4,7]例2-8:设备故障日志管理#初始化故障日志列表fault_log=[]#添加故障记录fault_log.append(["001","Motorfailure","High"])fault_log.append(["002","Sensormalfunction","Medium"])#查询设备ID为"001"的记录forloginfault_log:iflog[0]=="001":print(f"故障:{log[1]},严重性:{log[2]}")#统计故障数量severity_count={"High":0,"Medium":0,"Low":0}forloginfault_log:severity_count[log[2]]+=1CHAPTER02字典与集合字典Dictionary字典是Python唯一的内建映射类型,每个元素有键(key)和值(value)。#创建字典d={'name':'Damon','age':25}#使用dict()创建te1=[('name','Damon'),('sex','man')]te=dict(te1)#访问元素d['name']#'Damon'd.get('name')#'Damon'd.get('phone')#None(不会报错)字典常用方法clear()清空pop()删除指定键get()安全获取values()获取值列表keys()获取键列表update()合并字典te1={'name':'小明','sex':'男'}te2={'age':'18','call':}te1.update(te2)#{'name':'小明','sex':'男','age':'18','call':}集合Set集合是无序不重复元素集,分为可变集合(set)和不可变集合(frozenset)。#创建集合te1=set('Python')#{'h','o','n','P','t','y'}te2=frozenset('Python')#添加和删除元素te=set([1,2,3])te.add(4)#{1,2,3,4}te.remove(2)#{1,3,4}te.clear()#set()集合运算符|并集&交集-差集^对称差集例2-9:集合运算符实例te1=set([1,2,3])te2=set([1,2])te1==te2#Falsete1>te2#True(真超集)te1|te2#{1,2,3}te1&te2#{1,2}te1-te2#{3}05程序控制结构掌握选择结构与循环结构的编程技巧CHAPTER02选择结构:if、if-else、if-elif-elseif语句检测表达式是否成立,成立则执行语句块。if(表达式):语句块示例c=10ifc>5:print("C>5")#输出:C>5if-else语句二选一判断,条件成立执行语句块1,否则执行语句块2。if(表达式):语句块1else:语句块2例2-10:两数比较a=input("a:")b=input("b:")if(a>b):print('a=',a)else:print('b=',b)if-elif-else语句多条件分支判断,依次检测多个表达式。if(表达式1):语句块1elif(表达式2):语句块2elif(表达式n):语句块nelse:语句块n+1例2-11:成绩等级判定score=int(input("请输入学生成绩:"))if(score>=90):print("A")elif(score>=80):print("B")elif(score>=60):print("C")else:print("D")例2-12:设备温度状态管理device_temp=75ifdevice_temp==0:status="故障"elifdevice_temp>100:status="过热"elif60<=device_temp<=100:status="正常"else:status="低温"print(f"设备温度:{device_temp}℃,状态:{status}")#输出:设备温度:75℃,状态:正常CHAPTER02循环结构:while与for循环while循环条件为真时重复执行语句块,需手动更新循环变量。while(表达式):语句块例2-13:1+2+...+100求和sum=0i=1while(i<=100):sum+=ii+=1print('sum=',sum)#输出:sum=5050for循环遍历可迭代对象,每次取出一个值赋给迭代变量。for变量in集合:语句块range()函数range(10)#[0,1,2,...,9]range(1,10)#[1,2,...,9]range(0,10,3)#[0,3,6,9]range(-4,4)#[-4,-3,...,3]例2-14:斐波那契数列a,b=0,1i=1print(a,end='')whilei<20:print(b,end='')a,b=b,a+bi+=1#输出:01123581321345589144233377610987159725844181例2-15:猜价格游戏number=int(input('输入商品的真实价格:'))running=Truewhilerunning:guess=int(input('输入一个整数:'))ifguess==number:print('恭喜,你猜对了。')running=Falseelifguess<number:print('不对,你猜的有点儿小。')else:print('不对,你猜的有点儿大。')循环控制语句continue-跳过本次循环x=10whilex:x-=1ifx%2==0:continueprint(x)#输出:97531break-跳出整个循环frommathimportsqrtforninrange(99,0,-1):root=sqrt(n)ifroot==int(root):print(n)break#输出:8106项目实战演练通过实际案例巩固所学知识CHAPTER02基础编程实践有序数组插入数据a=[1,4,6,9,13,16,19,28,40,100,0]number=int(input("insertanewnumber:\n"))end=a[9]ifnumber>end:a[10]=numberelse:foriinrange(10):ifa[i]>number:temp1=a[i]a[i]=numberforjinrange(i+1,11):temp2=a[j]a[j]=temp1temp1=temp2break查找最大值及最小值num=int(input('请输入数据个数:'))dates=[]i=0whilei<num:p=int(input('输入数据:'))dates.append(p)i+=1max_val=dates[0]foraaindates:ifmax_val<aa:max_val=aamin_val=dates[0]forbbindates:ifmin_val>bb:min_val=bb冒泡法排序importrandoma=[]i=0whilei<10:a.append(random.randint(0,100))i+=1l=len(a)-2i=0whilei<l:j=lwhilej>=i:if(a[j+1]<a[j]):a[j],a[j+1]=a[j+1],a[j]j-=1i+=1列表逆序排列a=[100,90,79,45,30,10]N=len(a)print(a)foriinrange(int(len(a)/2)):a[i],a[N-i-1]=a[N-i-1],a[i]print(a)#输出:[100,90,79,45,30,10]#[10,30,45,79,90,100]CHAPTER06综合项目:设备维护管理系统功能需求1添加设备信息2更新设备状态3记录维护活动4查询设备信息数据结构设计#设备信息列表devices=[]#每个设备用字典表示device={'device_id':'001','name':'设备名称','status':'运行中','m

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论