《Python人工智能编程基础(微课版)》高职全套教学课件_第1页
《Python人工智能编程基础(微课版)》高职全套教学课件_第2页
《Python人工智能编程基础(微课版)》高职全套教学课件_第3页
《Python人工智能编程基础(微课版)》高职全套教学课件_第4页
《Python人工智能编程基础(微课版)》高职全套教学课件_第5页
已阅读5页,还剩655页未读 继续免费阅读

下载本文档

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

文档简介

Python人工智能编程基础项目一Python开发环境配置

项目1Python开发环境配置项目2Python基础语句项目3Python序列项目4选择与判断项目5循环与跳转项目6函数设计项目7面向对象程序设计项目8处理程序错误和异常项目9-文件操作项目10科学计算基础项目11数据运算操作项目12爬虫基础项目13-GUI编程项目14机器学习入门项目15计算机视觉入门项目16自然语言处理入门全套可编辑PPT课件课前导入在一个晴朗的周末,阿曹决定学习Python编程语言。他打开电脑,找到了一个在线学习平台,并开始了他的学习之旅。在学习过程中,他遇到了一个难题:如何给变量赋值。阿曹仔细阅读了代码,尝试了几次后,终于成功地给变量x赋了一个整数值10。他感到非常高兴和充满成就感。接下来,他又尝试给变量y赋一个字符串值:"Hello,Python!",并且成功地将这个字符串打印出来。通过这些实践,阿曹对Python基本变量的赋值有了更深入地理解。重难点重点:难点:Python诞生与发展历程、语言特性及应用领域、解释器下载安装步骤、安装验证方法特性与应用领域关联、应用场景举例、环境变量配置、安装错误处理(路径过长、权限问题)CONTENTS认识Python语言配置Python开发环境安装Python语言第三方模块Python开发工具目录CONTENTS01020304课程信息专业基础课64课时4学分考勤:10%;三次旷课则禁止参与考试平时分:10%,基础分8分,根据课堂表现加减分作业:20%综合考核:60%:1.综合作品30%2.期末考核30%考试课成绩分配所需软件AnacandaVSCodeJupyternotebook课程介绍如何学习Python?课堂资料课程视频PPT课件电子资料课后内容作业练习Bilibili等在线平台开阔思路:GitHub/微信公众号:Python开发者Python之禅Python之美对接证书parTONE认识Python语言01什么是计算机语言?在生活中,我们可以通过不同的语言,与不同国家的人对话通过社交软件进行交流通过网络的“语言”表达情绪知识储备:什么是计算机语言1什么是计算机语言?同理,人类与计算机交流,同样需要通过计算机所能理解的语言,即“计算机语言”所以,计算机语言(ComputerLanguage)指用于人与计算机之间通讯的语言。计算机语言是人与计算机之间传递信息的媒介。计算机系统最大特征是指令通过一种语言传达给机器。知识储备:什么是计算机语言1什么是计算机语言?计算机语言机器语言汇编语言高级语言电子计算机所使用的是由"0"和"1"组成的二进制数,二进制是计算机的语言的基础。计算机发明之初,人们只能写出一串串由"0"和"1"组成的指令序列交由计算机执行,这种语言,就是机器语言。用一些简洁的英文字母、符号串来替代一个特定的指令的二进制串,比如,用"ADD"代表加法,"MOV"代表数据传递等等高级语言是较接近自然语言和数学公式的编程,基本脱离了机器的硬件系统,用人们更易理解的方式编写程序。知识储备:什么是计算机语言11.1.1

Python语言的诞生过程吉多·范罗苏姆(GuidovanRossum)是Python语言的创始人。在开发过程中,吉多·范罗苏姆整合了多种语言的优点。Python语言的成功不仅在于该语言本身的设计,还在于其强大的社区支持和广泛的应用领域。从系统管理到Web开发,再到数据科学和人工智能,Python语言的应用广泛且深入人心。NumPy、Pandas等第三方模块的出现极大地丰富了Python语言的生态系统,使其成为许多领域的首选语言。知识储备:Python语言的诞生过程1Python介绍对于编程人员来说,可选择的编程软件由许多:C/C++,JAVA,Python,PHP等等其中Python因其入门容易,操作方便,第三方资源库多等优点,使用率处于稳定的上升状态图来源:https://pypl.github.io/PYPL.html知识储备:Python介绍1Python介绍Python是一门跨平台、开源、免费的解释型高级动态编程语言。支持伪编译将Python源程序转换为字节码来优化程序和提高运行速度;Python支持命令式编程、函数式编程,完全支持面向对象程序设计,且拥有大量的扩展库;Python还被称为胶水语言。知识储备:Python介绍1跨平台知识储备:Python介绍1163跨平台知识储备:Python介绍1跨平台知识储备:Python介绍1命令式编程与函数式编程命令式编程即,告诉计算机一步步如何去做,如:1.打开冰箱2.拿出快乐3.关闭冰箱4.打开瓶盖5.喝一口快乐6.关闭瓶盖函数式编程的基本理念是以函数为核心来组织代码。如:def来一杯冰镇快乐():1.打开冰箱2.拿出快乐3.关闭冰箱4.打开瓶盖5.喝一口快乐6.关闭瓶盖来一杯冰镇快乐()知识储备:Python介绍11.1.3

Python语言的应用领域Python语言在众多领域中被广泛应用,主要应用领域包括Web开发、网络爬虫、计算与数据分析、人工智能、自动化运维、云计算、网络编程和游戏开发等,如图所示。知识储备:Python语言的应用领域11)Web开发

主要框架:Python语言在Web开发领域主要通过Django和Flask这两个框架发挥作用。Django是一个全栈式的框架,适用于大型网站和复杂系统的开发,支持从数据库设计到用户界面设计的全过程。Flask则是一个轻量级的框架,适合开发小型网站和API。

实际应用:无论是建设大型网站、开发企业级OA系统还是创建WebAPI,Python语言的Web开发框架都能快速上手并高效完成项目。2)网络爬虫

相关库和框架:Python语言凭借urllib、requests等内置库及Scrapy这类强大的第三方框架使编写网络爬虫变得简单快捷,这些工具可以帮助开发者从网络上获取有用的数据,省去了大量的人工操作。

广泛应用:从简单的抓取网页内容到复杂的数据挖掘,使用Python语言编写的网络爬虫被广泛应用于数据采集、舆情分析、市场调研等领域。3)计算与数据分析

科学计算模块:NumPy、SciPy和Matplotlib等模块让Python语言成为进行科学计算和数据分析的强大工具,这些模块不仅支持各种数学运算,还能绘制高质量的二维和三维图像。

数据分析优势:与Matlab等商业软件相比,Python语言在数据处理上更为灵活,能够处理更多类型的数据和文件。4)人工智能

主流框架:Python语言是当前人工智能领域最热门的编程语言,主流的神经网络框架(如PyTorch和TensorFlow)都基于Python语言。这些框架被广泛应用于机器学习、深度学习和神经网络等人工智能子领域。

行业热度:由于其简洁性和强大的模块支持,因此Python语言成为从事人工智能开发的工程师的首选语言。知识储备:Python语言的应用领域15)自动化运维

系统管理:在多数Linux系统发行版和macOS系统中,Python语言是标准系统组件,可用于编写系统管理脚本,自动化执行各种系统任务。

优于Shell脚本:Python脚本在可读性、性能、代码重用度和扩展性方面均优于传统的Shell脚本。6)云计算

模块化和灵活性:Python语言的模块化特点使其在构建云计算平台时具有很大的灵活性。例如,构建IaaS(InfrastructureasaService,基础设施即服务)服务的OpenStack就是使用Python语言开发的。

云服务应用:许多云服务都是基于IaaS服务构建的,Python语言在这方面的应用非常广泛。7)网络编程

分布式应用开发:Python语言提供丰富的模块支持Socket编程,方便快速地开发分布式应用程序。很多大规模的软件开发项目(如Zope、Mnet和BitTorrent等)都在使用Python语言进行网络编程。

广泛应用:Python语言在网络编程领域的应用广泛,从简单的网络通信到复杂的分布式系统,都能见到它的身影。8)游戏开发

游戏逻辑编写:很多游戏使用C++语言编写图形显示高性能模块,而使用Python语言编写游戏逻辑和服务器。Python语言支持更多的特性和数据类型,使其在游戏开发中也占据一席之地。

PyGame模块:Python语言的PyGame模块也可用于直接开发一些简单的游戏。知识储备:Python语言的应用领域1随着近几年Python的大火,全国python岗位的需求量接近10万,上海岗位需求量居首位,占比20.6%,北京Python工程师岗位需求量居第二位占比19.6%,其次是深圳、广州、杭州等一线城市。Python工程师的岗位需求量巨大,并且岗位需求量还在呈现上涨的趋势,导致Python方向岗位的薪水也在水涨船高,从数据分析来看,月薪在20K-50K不等。知识储备:Python的前景1任务探究:熟悉Python语言的应用领域1任务探究熟悉Python语言的应用领域小组活动:根据图1.3通过网络搜索,了解Python语言应用在具体领域的知识并举例其使用场景及用到的方法。记录:请记录小组讨论的主要观点,推选代表在课堂上简单阐述观点。示例:【人工智能·Pytorch】Pytorch是一个基于Python语言的开源的深度学习模块,专门用于构建神经网络,特别适用于人工智能编程。PyTorch在人工智能领域的应用非常广泛,涵盖了计算机视觉、自然语言处理、生成对抗网络、强化学习及时序数据分析等多个方面。PyTorch提供了许多预训练模型,这些模型在图像分类、物体检测和语义分割等任务中表现优异。PyTorch提供了一系列优化的组件和算法,可以帮助开发者方便地构建复杂的计算机视觉应用,极大地简化了开发过程。parTTWO配置Python开发环境02Python的安装网上Python版本众多,包括2.x版本与3.x版本2.x:过去很多经典代码使用2.7版本书写的3.x:必然的趋势,已经开始全面普及目前普遍使用的3.12版本是我们的优先选择,其他3.7,3.8、3.9、3.10、3.11版本亦可我们可以前往/downloads/进行下载安装,也可以下载Anaconda:/distribution/知识储备:Python的安装21.官网下载Python安装(二选一即可)/downloads/官网安装知识储备:Python的安装2步骤1在自己的个人计算机中创建一个文件夹(如D:\\Python312)步骤2下载Python解释器安装包知识储备:Python的安装2步骤3双击exe文件,打开“Python3.12.5(64-bit)Setup”窗口。选择自定义安装至“Python312”文件夹,并勾选“Addpython.exetoPATH”知识储备:Python的安装2步骤4进入“OptionalFeatures”界面,默认设置,单击“Next”,进入“AdvancedOptions”界面,勾选“InstallPython3.12forallusers”,设置自定义安装位置,其他默认,单击“Install”,安装完成知识储备:Python的安装2步骤5安装后,右击桌面,选“在终端中打开”,在“WindowsPowershell”中执行“python”命令,如图示成功则安装成功。退出执行“ctrlz”。再点exe可卸载。知识储备:Python的安装22.使用Anaconda安装Python/products/individual知识储备:Python的安装22.使用Anaconda安装Python/products/individual知识储备:Python的安装2任务巩固:在个人计算机上安装Python解释器2任务巩固在个人计算机上安装Python解释器本任务要求读者在个人计算机上安装Python解释器,并提交实训报告。具体要求如下:①

实训目的:掌握Python解释器的安装与配置方法。②

依次将安装步骤及结果截图并保存在Word文档中提交。parTTHREE安装第三方模块03Python因其“开源”(即源代码开放,可以进行修改),有着众多第三方库(即不是默认自带的代码库,需要进行下载安装,可以理解为自己购买的插件)我们使用指令pip进行第三方库的管理pip命令示例说明pipinstallSomePackage[==version]下载扩展库的指定版本,不安装piplist列出当前已安装的所有模块pipinstall--upgradeSomePackage升级SomePackage模块pipuninstallSomePackage[==version]卸载SomePackage模块的指定版本pipinstallSomePackage.whl通过whl文件离线安装扩展库pipinstall-rrequirements.txt安装requirements.txt文件中指定的扩展库知识储备:安装Python第三方模块31.3.1安装NumPy模块NumPy(NumericalPython)是Python语言的一个扩展程序模块,支持大量的维度数组与矩阵运算,此外,该模块也针对数组运算提供大量的数学函数模块。NumPy模块是一个运行速度非常快的数学模块,主要用于数组计算,包含一个强大的N维数组对象Ndarray、广播功能函数、整合C/C++/Fortran代码的工具、线性代数、傅里叶变换、随机数生成等功能。在Python语言中使用pip管理第三方模块。如果要安装Numpy模块,则在“WindowsPowershell”窗口中执行以下命令即可:pipinstallnumpy如果Numpy模块安装成功,则会显示提示信息“Successfullyinstallednumpy”,如图1.12所示。知识储备:安装Python第三方模块31.3.2安装OpenCV模块

OpenCV是开源的跨平台图像处理模块,可运行于Linux、Windows、Android和macOS。它轻量高效,提供Python、Ruby、MATLAB等语言接口,实现图像处理与计算机视觉算法。OpenCV-Python是OpenCV的PythonAPI,结合OpenCVC++API与Python特性。虽Python代码运行较慢,但简单、短小、易学,且方便调用C++组件。高性能功能可用C++实现。安装OpenCV模块,在“WindowsPowershell”执行:pipinstallopencv-pythonpipinstallopencv-contrib-python知识储备:安装Python第三方模块31.3.3安装Pandas模块Pandas是一个开源的Python语言数据分析模块,它提供了快速、灵活和表达力强的数据结构,旨在使“关系”或“标签”数据的操作既简单又直观。它是一个基于NumPy模块的模块,提供了高性能、易用的数据结构和数据分析工具。Pandas模块是数据科学、数据分析和机器学习领域中非常流行的模块之一,可以极大地简化数据处理和分析的工作。如果要安装Pandas模块,则在“WindowsPowershell”窗口中执行以下命令:pipinstallpandas知识储备:安装Python第三方模块31.3.4安装requests模块

requests是一个Python模块,用于发送HTTP请求。它简单易用、功能强大,是Python程序员进行网络请求的首选模块之一。requests模块的API设计得非常直观,使得发送网络请求变得非常简单。它具有支持多种HTTP请求、自动处理Cookies、会话管理、自动内容解码等优点。requests模块是Python网络编程中非常流行和实用的工具,使得与网络服务的交互变得简单和高效。如果要安装requests模块,则在“WindowsPowershell”窗口中执行以下命令即可:pipinstallrequests知识储备:安装Python第三方模块31.3.5安装urllib3模块

urllib3是一个强大的、高效的、功能丰富的HTTP客户端模块,它在Python3中是requests模块的底层模块。urllib3模块提供了比Python语言标准模块urllib更多的功能和更好的性能。urllib3模块是一个底层模块,可以提供构建HTTP客户端所需的所有基础功能。虽然它不像requests模块那样易于使用,但是它提供了更多的灵活性和控制能力,适合需要定制化HTTP客户端的高级用户。如果要安装urllib3模块,则在“WindowsPowershell”窗口中执行以下命令:pipinstallurllib3知识储备:安装Python第三方模块31.3.6安装BeautifulSoup模块

BeautifulSoup是一个用于解析HTML文档和XML文档的Python模块。它常与requests模块或urllib模块一起使用,用于从网页中抓取数据。BeautifulSoup模块提供了简单直观的方法来导航、搜索和修改解析树,非常适合进行网页抓取和数据提取。BeautifulSoup模块是一个非常流行的模块,被广泛用于网页抓取、数据提取和网页内容分析。它的灵活性和易用性使其成为许多开发者的首选工具。如果要安装BeautifulSoup模块,则在“WindowsPowershell”窗口中执行以下命令即可:pipinstallbeautifulsoup4知识储备:安装Python第三方模块31.3.7安装Scikit-learn模块Scikit-learn是一个开源的Python语言机器学习模块,它建立在NumPy、SciPy和Matplotlib模块之上。Scikit-learn模块提供了简单而高效的方式来进行数据挖掘和数据分析。它包括许多用于分类、回归、聚类和降维的算法,并且旨在提高机器学习算法开发效率和易用性。如果要安装Scikit-learn模块,则在“WindowsPowershell”窗口中执行以下命令即可:pipinstallscikit-learn知识储备:安装Python第三方模块31.3.8安装NLTK模块

NLTK(NaturalLanguageToolkit,自然语言处理工具包)是一个强大的自然语言处理模块,它为Python语言提供了一套丰富的资源和工具,用于处理人类语言数据。NLTK模块的主要目标是促进自然语言处理的教育和研究,同时支持商业和媒体应用。通过NLTK模块,可以实现分词、词性标注、命名实体识别、句法分析、文本分类、语言模型、机器翻译、语料模块等自然语言处理操作。NLTK模块是一个功能丰富的模块,可以用于各种自然语言处理任务,从基础的文本处理到复杂的机器学习应用。如果要安装NLTK模块,则在“WindowsPowershell”窗口中执行以下命令即可:pipinstallnltk知识储备:安装Python第三方模块31.3.9安装jieba模块jieba是一个优秀的Python语言中文分词模块,可以用于进行分词和关键词提取。jieba模块支持繁体分词和自定义词模块、关键词提取、添加自定义词典、调整词频、多语言等功能,是处理中文文本数据时非常有用的工具,它可以帮助用户快速进行文本分词和关键词提取,是中文自然语言处理领域的常用模块之一。如果要安装jieba模块,则在“WindowsPowershell”窗口中执行以下命令即可:pipinstalljieba知识储备:安装Python第三方模块3任务巩固:在个人计算机上安装Python第三方模块3任务巩固在个人计算机上安装Python第三方模块本任务要求用户在个人计算机上安装配置Python第三方模块,并提交实训报告。具体要求如下:①

实训目的。

掌握Python第三方模块的安装方法。

搜索与掌握使用pip安装指定版本的第三方模块的相关用法。

搜索与掌握pip换源方法。②

依次将安装步骤及结果截图并保存在Word文档中提交。parTFOURPython开发工具041.4.1

Python开发工具介绍知识储备:Python开发工具4为了方便读者安装与使用,本书使用JupyterNotebook作为Python开发工具。多尝试,人生不设限选择适合自己需求的开发工具,可以显著提升编程体验和效率。1.4.2

JupyterNotebook的安装与使用知识储备:Python开发工具4JupyterNotebook是Web交互式计算环境,适用于开发、文档编写、运行和展示结果。以网页形式打开,可直接编写和运行代码,结果即时显示。如需安装,在WindowsPowershell执行相应命令。pipinstalljupyter知识储备:Python开发工具41.4.2

JupyterNotebook的安装与使用知识储备:Python开发工具4选择“Python3

(ipykernel)”命令JupyterNotebook的界面JupyterNotebook的编译界面1.4.2

JupyterNotebook的安装与使用知识储备:Python开发工具4工具栏中按钮的名称其他:安装VSCode/知识储备:Python开发工具4任务巩固:在个人计算机上安装JupyterNotebook4任务巩固在个人计算机上安装JupyterNotebook本任务要求用户在个人计算机上安装JupyterNotebook,并提交实训报告。具体要求如下:①

实训目的。

掌握JupyterNotebook的安装方法。

使用JupyterNotebook创建一个Python脚本。②

依次将安装步骤及结果截图并保存在Word文档中提交。作业1.根据课程平台中的视频,在自己的电脑中安装Python环境与开发工具,并练习打开jupyternotebookPython人工智能编程基础项目二Python基础语句

课前导入在一个晴朗的周末,阿曹决定学习Python编程语言。他打开电脑,找到了一个在线学习平台,并开始了他的学习之旅。在学习过程中,他遇到了一个难题:如何给变量赋值。阿曹仔细阅读了代码,尝试了几次后,终于成功地给变量x赋了一个整数值10。他感到非常高兴和充满成就感。接下来,他又尝试给变量y赋一个字符串值:"Hello,Python!",并且成功地将这个字符串打印出来。通过这些实践,阿曹对Python基本变量的赋值有了更深入地理解。重难点重点:难点:定义变量、基本数据类型、运算符与表达式内置函数、代码规范CONTENTS基本变量的赋值运算符与表达式使用内置函数代码格式规范目录CONTENTS01020304parTONE基本变量的赋值01知识储备:标识符1Python标识符是用于标识变量、函数、类、模块或其他对象的名称。标识符由字母、数字和下划线组成,并且必须以字母或下划线开头。标识符是区分大小写的,例如,"myVariable"和"myvariable"是两个不同的标识符。Python中还有一些保留的关键字,不能用作标识符。标识符必须遵循以下规则:①标识符的第一个字符必须是字母(a-z或A-Z)或下划线(_),如myVariable(小驼峰命名法)、MyVariable(大驼峰命名法)、my_variable(下划线命名法)、_myVariable等。②标识符的其余部分可以是字母、数字(0-9)或下划线,如myVariable1、my_variable。③标识符不能以数字开头。④标识符不能是Python的保留关键字。知识储备:保留关键字1Python中的关键字是指Python编程语言中具有特殊含义的单词。这些单词不能被用作变量名称、函数名称或其他标识符。Python中有35个关键字,这些关键字是Python语言内部使用的,其他开发者不允许自定义和它们相同的标识符。['False','None','True','and','as','assert','async','await','break','class','continue','def','del','elif','else','except','finally','for','from','global','if','import','in','is','lambda','nonlocal','not','or','pass','raise','return','try','while','with','yield']不能作为标识符知识储备:Python基础语法1变量命名规范以字母或下划线开头a=3_a=2不能使用关键字print=1numpy=2驼峰命名法大驼峰式命名规则FirstName,CamelCase小驼峰式命名规则firstName,camelCase巧用下划线名称中的每一个逻辑断点都用一个下划线来标记:my_namehis_name知识储备:数据类型1什么是内置对象?Python中处理的一切都是对象数字字符串序列(以后细讲)布尔型空类型。。。知识储备:定义变量1Python变量怎么赋值?不需要事先声明变量名及其类型,直接赋值即可创建各种类型的对象变量。是<标识符>=<表达式>quyuan='爱国诗人'屈原爱国诗人知识储备:定义变量1标准赋值a=3b=3+5c=a<ba=a+1a+=1

多重赋值a=b=c=3b=4;c=5c=a<ba=a+1

序列赋值x=1y=2mysum,diff=x+y,x-y四种赋值方法增量赋值a

=

1a+=8a*=2

知识储备:打印与查看变量1Python变量怎么打印(输出)?print(x)print(Num)print(is_true)查看数据类型输出x=1print(type(x))此时输出结果为:<class'int'>知识储备:赋值练习1例:热爱祖国='光荣',print(热爱祖国)。打开jupyternotebook自主选择任意两条,使用序列赋值方法进行赋值。知识储备:赋值练习21例:gxtScore=552,打开jupyternotebook自主选择任意两条,使用小驼峰命名法进行赋值。姓名高考成绩关晓彤552易烊千玺473杨幂583张一山365知识储备:用户输入1程序想要实现人机交互功能,需要接收用户输入的数据。Python提供了input()函数实现信息输入。函数的具体形式如下:x=input([prompt])x:表示返回结果,为字符串格式。prompt:表示用户输入提示信息,加[]表示可不填写。以下是一些使用input()函数的示例:name=input("请输入您的姓名:")print("您好,"+name+"!")任务实操——三角形相关计算实训1任务实操三角形相关计算实训此任务通过介绍使用Python编程实现三角形相关计算,帮助大家更好地应用Python解决实际计算问题。【例2.1】已知三角形的三边长分别为3、4.2、5.3,使用Python编程实现三角形的面积求解,要求输出面积结果为整型。提示:根据海伦公式,三角形的面积为:其中,a、b、c分别为三角形的三边长,p为半周长,即:计算平方根方法可使用Python标准库math中的math.sqrt(),其函数用法如下:importmath#导入模块result=math.sqrt(number)lresult:表示计算结果,是一个浮点数。lnumber:表示要计算平方根的数值,可以是整数或浮点数。任务实操——三角形相关计算实训1具体编程示例:importmath #导入模块a=3 #定义变量b=4.2c=5.3p=(a+b+c)/2 #计算半周长S=math.sqrt(p*(p-a)*(p-b)*(p-c)) #代入海伦公式print("三角形的面积为:",int(S)) #打印计算结果运行程序,输出结果为:三角形的面积为:6任务实操——三角形相关计算实训1【例2.2】请使用用户输入方法定义直角三角形的两个直角边a,b,使用Python编程实现斜边的长度求解。具体编程示例:importmatha=float(input("请输入直角边a的长度:")) #获取用户输入的两个直角边a和bb=float(input("请输入直角边b的长度:"))c=math.sqrt(a**2+b**2) #使用勾股定理计算斜边的长度print("斜边的长度为:",c) #输出斜边的长度运行程序,输出结果如下:请输入直角边a的长度:1请输入直角边b的长度:2斜边的长度为:2.23606797749979任务巩固——身体质量指数计算实训1任务巩固身体质量指数计算实训身体质量指数(BodyMassIndex,BMI)是一个用来衡量人体肥胖程度的指标,计算公式为BMI=体重/身高2。使用用户输入方法定义体重w与身高h的值,要求使用Python编程计算BMI,并且输出结果为整型数据。输出结果示例如下:请输入体重(单位为kg):60请输入身高(单位为m):1.75身体质量指数为:19.591836734693878parTTWO运算符与表达式02知识储备:运算符2Python运算符是用于操作Python中的值的符号。它们可以对数字、字符串、列表等进行各种操作,如算术运算、比较、逻辑运算等。以下是一些常见的Python运算符:(1)算术运算符:用于执行基本的数学运算,包括+、-、*、/、%、**(幂运算)等,假设数字x=8,y=2,功能说明及示例可见表2.1。表2.1算术运算符功能说明及示例运算符功能说明示例+加法运算符:将两个数字相加并返回它们的和。x+y=10-减法运算符:从一个数字中减去另一个数字并返回它们的差。x-y=6*乘法运算符:将两个数字相乘并返回它们的积。x*y=16/除法运算符:将一个数字除以另一个数字并返回它们的商。x/y=4//整除运算符:返回两个数字相除的整数部分。x//y=4%取余运算符:返回一个数字除以另一个数字的余数。x%y=0**幂运算符:返回一个数字的另一个数字次幂x**y=64比较运算符:用于比较两个值的大小关系,包括==、!=、>、<、>=、<=,假设数字x=8,y=2,功能说明及示例可见表2.2。表2.2比较运算符功能说明及示例运算符功能说明示例==等于运算符:检查两个值是否相等,如果相等则返回True,否则返回False。x==y,返回False。!=不等于运算符:检查两个值是否不相等,如果不相等则返回True,否则返回False。x!=y,返回True。>大于运算符:检查左边的值是否大于右边的值,如果是则返回True,否则返回False。x>y,返回True。<小于运算符:检查左边的值是否小于右边的值,如果是则返回True,否则返回False。x<y,返回False。>=大于等于运算符:检查左边的值是否大于或等于右边的值,如果是则返回True,否则返回False。x>=y,返回True。<=小于等于运算符:检查左边的值是否小于或等于右边的值,如果是则返回True,否则返回False。x<=y,返回False。知识储备:运算符2赋值运算符:用于将一个值赋给一个变量,包括=、+=、-=、*=、/=、%=、**=、//=,功能说明及示例可见表2.3。表2.3赋值运算符功能说明及示例运算符功能说明示例=简单赋值运算符:将右侧的值赋给左侧的变量。x=10将把10赋给变量x。+=加法赋值运算符:将左侧变量的值加上右侧的值,并将结果赋给左侧变量。x+=5将把5加到x的当前值上,并将结果赋给x。-=减法赋值运算符:将左侧变量的值减去右侧的值,并将结果赋给左侧变量。x-=3将把3从x的当前值中减去,并将结果赋给x。*=乘法赋值运算符:将左侧变量的值乘以右侧的值,并将结果赋给左侧变量。x*=2将把2乘以x的当前值,并将结果赋给x。/=除法赋值运算符:将左侧变量的值除以右侧的值,并将结果赋给左侧变量。x/=4将把4除以x的当前值,并将结果赋给x。//=整除赋值运算符:将左侧变量的值除以右侧的值,并将结果赋给左侧变量。x//=2将把2整除x的当前值,并将结果赋给x。%=取余赋值运算符:将左侧变量的值除以右侧的值,并将余数赋给左侧变量。x%=3将把3除以x的当前值,并将余数赋给x。**=幂赋值运算符:将左侧变量的值乘以右侧的值,并将结果赋给左侧变量。x**=3将把3乘以x的当前值,并将结果赋给x。知识储备:运算符2逻辑运算符:用于将一个值赋给一个变量,包括and、or、not,假设x=True,y=False,功能说明及示例可见表2.4。表2.4逻辑运算符功能说明及示例运算符功能说明示例and逻辑与运算符:当两个条件都为真时,结果为真。xandy返回结果为False。or逻辑或运算符:当至少有一个条件为真时,结果为真。xory返回结果为True。not逻辑非运算符:对一个条件取反。notx返回结果为False知识储备:运算符2成员运算符:用于将一个值赋给一个变量,包括in、notin,功能说明及示例可见表2.5。表2.5成员运算符功能说明及示例运算符功能说明示例inin运算符:如果指定的元素在序列中,则返回True,否则返回False。‘a’in‘abc’返回结果为True。notinnotin运算符:如果指定的元素不在序列中,则返回True,否则返回False。‘a’notin‘abc’返回结果为False。知识储备:运算符2身份运算符:用于将一个值赋给一个变量,包括is、isnot,功能说明及示例可见表2.6。表2.6身份运算符功能说明及示例运算符功能说明示例isis运算符:用于比较两个对象的身份(即它们是否是同一个对象)。如果两个对象是同一个对象,则返回True,否则返回False。‘a’is‘b’返回结果为False。isnotnotin运算符:如果两个对象不是同一个对象,则返回True,否则返回False。‘a’isnot‘b’返回结果为True。这些运算符可以组合使用,以实现更复杂的计算和判断。例如,可以使用“+”运算符将两个数字相加,使用“>”运算符比较两个数字的大小,使用“and”运算符将多个条件组合起来进行判断等等。知识储备:运算符2这些运算符也有其优先级,从高到低依次为:①幂运算符(**)②乘、除、整除、整除(*,/,%,//)③加法、减法(+,-)④比较运算符(==,!=,<,<=,>,>=)⑤赋值运算符(=,+=,-=,*=,/=,%=,**=,//=)⑥成员运算符(in,notin)⑦身份运算符(is,isnot)⑧逻辑运算符(and,or,not)知识储备:运算符2Python表达式是由变量、常量和运算符组成的代码片段,用于计算一个值。在Python中,表达式可以非常简单,例如数字和字符串的组合,也可以非常复杂,涉及多种数据类型和运算符。Python表达式的语法先计算括号内的表达式,然后进行指数运算,接着是乘法和除法(从左到右),最后进行加法和减法(从左到右)。以下是一些常见的Python表达式示例:①简单的数值表达式:2+3②字符串拼接:'Hello,'+'World!'③条件表达式:xifx>0else-x④算术表达式:(2+3)*4⑤列表推导式:[i**2foriinrange(5)]⑥函数调用:len('hello')⑦赋值表达式:x=10⑧比较表达式:1<2<3⑨逻辑表达式:TrueandFalse知识储备:表达式2任务实操——温度换算器2任务实操温度换算器此任务通过介绍使用Python编程实现温度换算器,帮助大家更好地应用运算符与表达式。【例2.3】编写一个Python程序,输入摄氏温度,将其转换为华氏温度。提示:首先需要获取用户输入的摄氏温度,然后将其代入公式,最后输出转换后的华氏温度。具体公式为:华氏温度=摄氏温度

×9/5+32任务实操——温度换算器2具体编程示例:celsius=float(input("请输入摄氏温度:"))#接受用户输入的摄氏温度,并将其转化为浮点型数据fahrenheit=celsius*9/5+32#执行温度换算print("对应的华氏温度为:",fahrenheit)#打印计算结果运行程序,输出结果如下:请输入摄氏温度:33对应的华氏温度为:91.4任务实操——温度换算器2【例2.4】编写一个Python程序,输入华氏温度,将其转换为摄氏温度。具体编程示例:fahrenheit=float(input("请输入华氏温度:"))#接受用户输入的摄氏温度,并将其转化为浮点型数据celsius=(fahrenheit-32)*5/9#执行温度换算print("对应的摄氏温度为:",celsius)#打印计算结果运行程序,输出结果如下:请输入华氏摄氏温度:91.4对应的摄氏温度为:33.任务巩固——实现简易计算器2任务巩固实现简易计算器此任务要求使用Python实现具有加、减、乘、除的简易计算器,可以按照以下步骤进行:①获取用户输入的两个数字,并将其转化为浮点型数据赋值给aNum与bNum。②执行加、减、乘、除操作。③输出表达式与计算结果。输出结果如下:请输入第一个数字:4请输入第二个数字:2aNum+bNum=6.0aNum-bNum=2.0aNum*bNum=8.0aNum/bNum=2.0parTTHREE使用内置函数03Python内置函数是Python解释器自带的函数,不需要导入任何模块即可使用。这些函数提供了许多常用的功能,例如字符串处理、数学计算、文件操作等等。Python内置函数的定义和作用可以在Python官方文档中找到,也可以在交互式环境中使用help()函数来查看。例如,要查看len()函数的定义和作用,可以在Python交互式环境中输入以下命令:help(len)输出结果为:Helponbuilt-infunctionleninmodulebuiltins:len(obj,/)Returnthenumberofitemsinacontainer.这里对help()函数的使用方法进行了介绍,括号内接收一个容器对象,返回容器中的元素数。例如:aStr="Python"print(len(aStr))此时程序的运行结果为:6,说明aStr中有六个元素。知识储备:常用内置函数3除了len()函数之外,Python还有很多其他的内置函数,例如type()、str()、int()、float()、list()、tuple()、dict()、set()、range()、sum()、max()、min()、sorted()、reversed()、zip()、map()、filter()、any()、all()、enumerate()、join()和split()等。每个函数都有自己独特的定义和作用,可以根据需要选择使用。表2.7

常见内置函数功能说明及示例函数名称功能说明示例type()返回对象的类型。type(123)返回<class'int'>str()将对象转换为字符串。str(123)返回'123'int()将对象转换为整数。int('123')返回123float()将对象转换为浮点数。float('123.45')返回123.45range()生成一个整数序列,从0开始,步长为1,直到指定的结束值(不包括结束值)。range(5)返回[0,1,2,3,4]sum()计算序列中所有元素的总和。sum([1,2,3])返回6max()返回序列中的最大值。max([1,2,3])返回3min()返回序列中的最小值。min([1,2,3])返回1sorted()根据指定的方式对序列进行排序,并返回一个新的排序后的列表。默认情况下是升序排序。如果指定了参数reverse=True,则按降序排序。sorted([3,1,2])返回[1,2,3]reversed()根据序列的顺序反转元素。reversed([1,2,3])返回[3,2,1]知识储备:常用内置函数3zip()将多个可迭代对象的元素打包成元组,返回一个可迭代的zip对象。zip([1,2,3],['a','b','c'])返回[(1,'a'),(2,'b'),(3,'c')]any()如果可迭代对象中至少有一个元素为True,则返回True,否则返回False。any([False,True,False])返回Falseall()如果可迭代对象中所有元素都为True,则返回True,否则返回False。all([False,True,False])返回Falseenumerate()返回一个枚举对象,其中包含可迭代对象的索引和值。enumerate(['a','b','c'])返回[(0,'a'),(1,'b'),(2,'c')]join()将可迭代对象中的元素连接成一个字符串,元素之间用指定的分隔符隔开。'-'.join(['a','b','c'])返回'a-b-c'round()对一个浮点数进行四舍五入。round(3.14159)返回3知识储备:常用内置函数3任务实操——实现内置函数调用3任务实操实现内置函数调用此任务主要讲解常见的内置函数调用方法。【例2.5】编写一个Python程序,使用内置函数range()生成一个包含“0,1,2,3,4,5”的序列,然后使用max()函数找出序列中的最大值,并len()函数返回序列长度。提示:range()是Python内置函数之一,用于生成一个整数序列。它通常用在循环中,可以指定起始值、终止值和步长。具体函数形式如下:range([start],stop[,step])start:序列的起始值,默认为0。stop:序列的终止值(不包含)。step:序列中相邻两个数之间的差值(步长),默认为1。具体编程示例:x=range(0,6,1)#生成一个包含“0,1,2,3,4,5”的序列,此时起始值为1,终止值为6,步长为1y=max(x)#查找当前序列的最大值z=len(x)print("当前序列的最大值为:",y)#输出当前序列的最大值print("当前序列的长度:",z)#输出当前序列的长度运行程序,输出结果如下:当前序列的最大值为:5当前序列的长度:6任务实操——实现内置函数调用3任务巩固——公式计算3任务巩固公式计算Python中有一个很神奇的函数eval(),只要输入的字符串是一个公式,它能够直接计算这个公式的值。此处要求接收输入一个公式,包括加、减、乘、除四个运算,数字都是整数,并使用eval()计算结果,如果结果是一个小数,要求保留两位小数。提示:eval()函数形式如下:eval(expression,globals=None,locals=None)参数说明:expression:表示要进行求值的字符串表达式。任务巩固——公式计算3任务巩固公式计算round()函数形式如下:round(number,ndigits)参数说明:number:表示要进行四舍五入的浮点数。ndigits(可选):表示要保留的小数位数。默认值为0,即取整数部分。输出结果示例:请输入一个公式:(1+2)*3/4计算得到的结果为:2.25parTFOUR代码格式规范04(1)缩进类定义、函数定义、选择结构、循环结构,行尾的冒号表示缩进的开始

Python程序是依靠代码块的缩进来体现代码之间的逻辑关系的,缩进结束就表示一个代码块结束了。

同一个级别的代码块的缩进量必须相同。一般而言,以4个空格为基本缩进单位知识储备:Python代码规范4(2)注释一个好的、可读性强的程序一般包含30%以上的注释。常用的注释方式主要有两种:以#开始,表示本行#之后的内容为注释包含在一对三引号'''...'''或"""..."""之间且不属于任何语句的内容将被解释器认为是注释知识储备:Python代码规范4(3)换行在Python中,换行逻辑是指将代码分成多行以提高可读性和易于维护性。以下是一些关于Python换行逻辑的重要知识点:反斜杠(\):在一行代码的末尾使用反斜杠可以将其分成多行。例如:long_variable_name="Thisisaverylongvariablename"\+"thatneedstobesplitintomultiplelines"在这个例子中,我们将一个长字符串分成了两行,并使用反斜杠将其连接起来。注意每一行的缩进都是相同的,而且每行前面的空格数量也都是相同的。知识储备:Python代码规范4任务实操——给代码加上注释4任务实操给代码加上注释本任务主要练习给代码加上注释,请在合适的位置给代码加上单行注释与多行注释,让代码提高可读性。【例2.6】代码注释defmyFunction(rate):这句代码的意思是定义一个计算汇率的函数,并接收一个叫做rate的参数rmb=float(input("请输入人民币金额:"))这句代码的意思是接收用户输入的人民币金额,并将其转化为浮点型数据usd=rmb/6.5这句代码的意思是执行汇率换算print("美元金额为:",usd)这句代码的意思是打印计算结果rate=7.2这句代码的意思是定义汇率,方便后续调用myFunction(rate)这句代码的意思是调用myFunction函数,并传入rate参数任务实操——给代码加上注释4根据需要,我们可以给函数下方加上多行注释,并根据每一句关键代码的意义,加上单行注释,最终示例可如下方所示:defmyFunction(rate):'''定义一个计算汇率的函数,并接收一个叫做rate的参数'''rmb=float(input("请输入人民币金额:"))#接收用户输入的人民币金额,并将其转化为浮点型数据usd=rmb/6.5#执行汇率换算print("美元金额为:",usd)#打印计算结果rate=7.2#定义汇率myFunction(rate)#myFunction函数,并传入rate参数任务巩固——缩进练习3任务巩固缩进练习请参照例2.6的函数缩进方法,给下方代码加上缩进,使得程序能够正确运行。deftriangleArea(base,height):"""计算直角三角形的面积"""S=base*height/2print(S)base=1#base为直角三角形底边长度height=2#height为直角三角形高的长度triangleArea(base,height)课程能力要求能够根据需要选择合适的数据类型。能够编写包含运算符的表达式来执行基本的数学和逻辑运算。能够通过内置函数简化代码,提高编程效率。能够阅读和理解他人编写的规范代码。作业完成学习平台上的项目二作业Python人工智能编程基础项目三Python序列

课前导入最近,阿曹在学习Python语言时遇到了一个问题:如何将一个字符串拆分成多个子字符串?经过一番实践和尝试,阿曹发现字符串有很多非常实用的函数。例如可以使用split()函数将一个字符串按照指定的分隔符进行拆分,并返回一个包含所有子字符串的列表。阿曹发现这些函数可以解决他的实际问题,于是他更加刻苦地学习和探索更多的字符串操作技巧,并将其应用到自己的项目中。重难点重点:难点:字符串、列表、元组、字典、序列索引和切片操作字符串处理方法、序列索引和切片操作CONTENTS字符串列表元组字典目录CONTENTS01020304parTONE字符串01知识储备:字符串的定义1字符串是由大小写字母、数字、下划线、中文等组成的一串有序字符序列。Python中的字符串必须由单引号('')、双引号("")或者三引号('""')包围。单引号和双引号在输出结果上没有什么区别,且引号必须是成对出现的,例如:str1='爱我中华'str2="爱我中华"print(str1)print(str2)运行程序,输出结果为:爱我中华爱我中华思考:既然单引号和双引号在输出结果上没有什么区别,那为什么Python程序语言要设置两种方法来定义字符串呢?因为当字符串内容中出现引号时,我们需要进行特殊处理,否则Python会解析出错(SyntaxError:invalidsyntax)

,例如:处理方案:(1)对引号进行转义(2)使用不同的引号包围字符串知识储备:转义字符1Python字符串中的反斜杠\有着特殊的作用,就是转义字符,例如上面提到的\'和\"。另一方面,Python不是格式自由的语言,它对程序的换行、缩进都有严格的语法要求。要想换行书写一个比较长的字符串,必须在行尾添加反斜杠\。Python也支持表达式的换行。例如:num=20+67-8/2\

+3*3print(num)92.0运行结果转义字符有时候会带来一些麻烦,例如当需要表示一个包含Windows路径

D:\ProgramFiles\Python3.8\python.exe这样的字符串,在Python程序中上述写法肯定是不行的,不管是普通字符串还是长字符串。因为\的特殊性,我们需要对字符串中的每个“\”都进行转义,也就是写成D:\\ProgramFiles\\Python3.8\\python.exe这种形式才行。但是这种写法需要特别谨慎,稍有疏忽就会出错。为了解决转义字符的问题,Python支持原始字符串,即在字符串前面加上字母r或R表示原始字符串,其中的所有字符都表示原始的含义而不会进行任何转义知识储备:转义字符1Python语言中常用的转义字符如表3.1所示转义字符功能说明\(在行尾时)续行符\\反斜杠符号\a响铃\'单引号\"双引号\b退格(Backspace)\000空\n换行\v纵向制表符\t横向制表符\r回车\f换页\oyy八进制数yy代表的字符,例如,\o12代表换行\xyy十六进制数yy代表的字符,例如,\x0a代表换行\other其他的字符以普通格式输出表3.1常用转义字符及说明知识储备:字符串格式化1Python语言同时支持两种字符串格式化方法,一种是采用专门的str.format()格式化方法,另一种是%格式符。字符串format()方法的基本使用格式如下:<模板字符串>.format(<逗号隔开的参数>)format()函数是Python中内置的一种字符串格式化方法。它允许我们在字符串中插入变量和其他值,并将它们格式化为特定的形式。format()函数的一些常见用法:(1)基本用法format()函数的基本用法是将变量或者值放入{}占位符中,例如:name="Ming"age=19print("Mynameis{}andIam{}yearsold.".format(name,age))MynameisMingandIam19yearsold.运行结果知识储备:字符串格式化1format()函数的一些常见用法:(2)指定位置通过指定位置,可以按照固定的顺序来替换占位符。例如:name="Bob"age=22print("Mynameis{1}andIam{0}yearsold.".format(age,name))MynameisBobandIam22yearsold.运行结果(3)指定变量名如果占位符很多,可以通过指定变量名的方式来替换,这样可以使代码更加可读和易于维护。例如:name="Charlie"age=35print("Mynameis{name}andIam{age}yearsold.".format(name=name,age=age))MynameisCharlieandIam35yearsold.运行结果知识储备:字符串格式化1format()函数的一些常见用法:(4)格式化数字format()函数可以用于格式化数字的显示方式。此时,槽

的内部样式如下:{<参数序号>:<格式控制>}其中,格式控制标记用来控制参数显示时的格式,格式内容如图3.1所示。格式控制标记包括<填充><对齐><宽度><,><.精度><类型>6个字段,这些字段都是可选的,也可以组合使用。知识储备:字符串的访问方法1字符串是字符的序列,可以按照单个字符或字符片段进行索引。字符串包括两种序号体系:正向递增和反向递减,如图3.2所示。如果字符串总长度为N,正向递增以最左侧字符序号为0,向右依次递增,最右侧字符序号为N-1;反向递减以最右侧字符序号为-1,向左依次递减,最左侧字符序号为-N。(1)根据索引访问字符串访问字符串单个字符的基本语法格式如下:strname[i]strname:表示字符串名字。i:表示索引值。(2)根据切片截取字符串如果想要访问字符串中的多个字符,则可以通过切片的方式来截取字符串中的一部分。截取字符串的基本语法格式如下:strname[start:end:step]strname:表示字符串名字。start:表示起始索引。end:表示结束索引。step:表示步长。注意事项:1、开始位和结束位可以是正数也可以是负数,且切片选取的区间属于左闭右开型。2、默认步长为1,当步长省略时,可省略最后一个冒号。3、当步长为正数时,表示开始位向右取到结束位(不包含结束位);当步长为负数时,表示开始位向左取到结束位(不包含结束位)。知识储备:字符串操作符1Python语言提供了3个字符串的基本操作符,如表3.3所示。操作符功能说明x+y连接两个字符x与y

x*n或n*x复制n次字符串xxins如果x是s的子串,返回True,否则返回False表3.3基本的字符串操作符a="Python语言"b="程序设计"c="Python语言"+"程序设计"print(c)print(a*2)print(ainc)Python语言程序设计Python语言Python语言True运行结果实例:知识储备:内置的字符串处理方法1在Python解析器内部,所有数据类型都采用面向对象方式实现,封装成一个类。字符串也是一个类,它具有类似<a>.<b>()形式的字符串处理函数。在面向对象中,这类函数被称为“方法”。字符串类型共包含43个内置方法,鉴于部分内置方法并不常用,限于篇幅,本文仅介绍12个常用方法,如表3.4所示。方法功能说明str.lower()返回字符串str的副本,全部字符小写str.upper()返回字符串str的副本,全部字符大写str.islower()当str所有字符都是小写时,返回True,否则返回Falsestr.isupper()当str所有字符都是大写时,返回True,否则返回Falsestr.isnumeric()当str所有字符都是数字时,返回True,否则返回Falsestr.isspace()当str所有字符都是空格时,返回True,否则返回Falsestr.split(sep=None,maxsplit=-1

)返回一个列表,由str根据sep被分隔的部分构成str.count(sub[,start[,end]])返回str[start:end]中sub子串出现的次数str.replace(old,new[,count])返回字符串str的副本,所有old子串被替换位new,如果count给出,则前count次old出现被替换str.center(width[,fillchar])字符串居中函数,两边填充指定字符fillchar(默认是空格)str.format()返回字符串str的一种排版格式,具体看1.1.2节str.join(iterable)返回一个新字符串,由组合数据类型iterable变量

的每个元素组成,元素间用str分隔表3.4常用的12个内置字符串处理方法任务实操——星期转换1任务实操星期转换实训本任务通过使用Python编程实现字符串的索引、替换等操作,帮助大家更好地应用Python解决实际问题。【例3.1】运用字符串索引、切片和数据转换知识点,通过编程实现输入数字(1-7),输出对应的星期值。— 输入:1-7的整数,表示星期几— 输出:输入整数对应的星期字符串— 例如:输入3,输出:星期三任务实操——星期转换实训1具体编程示例:方法1:切片weekStr="星期一星期二星期三星期四星期五星期六星期日"weekId=int(input("请输入星期数字(1-7):"))pos=(weekId-1)*3print(weekStr[pos:pos+3])方法2:索引weekStr="

温馨提示

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

最新文档

评论

0/150

提交评论