Python基础与办公自动化(微课版)(AI协同)-课件 单元3、4 Python数据类型、程序控制结构_第1页
Python基础与办公自动化(微课版)(AI协同)-课件 单元3、4 Python数据类型、程序控制结构_第2页
Python基础与办公自动化(微课版)(AI协同)-课件 单元3、4 Python数据类型、程序控制结构_第3页
Python基础与办公自动化(微课版)(AI协同)-课件 单元3、4 Python数据类型、程序控制结构_第4页
Python基础与办公自动化(微课版)(AI协同)-课件 单元3、4 Python数据类型、程序控制结构_第5页
已阅读5页,还剩78页未读 继续免费阅读

下载本文档

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

文档简介

单元3Python数据类型任务3.1计算“奋斗者”号下潜速度【任务目标】“奋斗者”号是我国自主研发的全海深载人潜水器。2023年3月11日,“探索一号”科考船搭载“奋斗者”号载人潜水器抵达三亚,圆满完成国际首次环大洋洲载人深潜科考任务。该航次历时157天,环大洋洲航行22000余海里。航次期间,科考队在西南太平洋克马德克海沟区域开展了国际上首次大范围、系统性的载人深潜调查,并在人类历史上首次抵达东南印度洋蒂阿曼蒂那海沟开展实地观察和取样。2020年10月27日,“奋斗者”号成功下潜突破1万米。假设“奋斗者”号首次海试突破万米时用时2小时整,编写程序计算其平均下潜速度,程序运行结果如下。【任务实施】……3.1基本数据类型数字字符串3.1.1数字Python中常见的数字类型包括:整数类型(int)布尔类型(bool)浮点数类型(float)。1.整数整数类型数是不带小数点的数,简称“整数”,如123、-12、0、9999等。Python中的整数无大小限制(仅受计算机内存限制)。例如,下面的代码分别输出2的100次方和9的100次方。整数通常表示为十进制,还可以表示为二进制、八进制和十六进制。(1)二进制:以“0b”或“0B”开头,数码包括0和1,如0b101、0B11。(2)八进制:以“0o”或“0O”开头,数码包括0~7,如0o15、0O123。(3)十六进制:以“0x”或“0X”开头,数码包括0~9、A~F或a~f,如0x12AB、0x12ab。不同进制只是整数的不同表示形式,程序运行时Python会将整数处理为十进制。可以使用int()函数将整数字符串按指定进制转换为整数,其基本语法格式如下。示例代码如下。2.布尔值布尔类型是整数类型的子类型,布尔类型数(也称布尔值或逻辑值)只有True和False两种取值。布尔值作为整数使用时,True等同于数字1、False等同于数字0。将布尔值转换为字符串时,True转换为"True",False转换为"False"。可以使用type()函数查看数据类型,示例代码如下。3.浮点数浮点类型数也称浮点数,即通常所指的小数,如12.5、2.、.5、3.0、1.23e+10、1.23e-10等都是浮点数。浮点数的取值范围为-10308~10308,超出取值范围会产生溢出错误(OverflowError),示例代码如下。float()函数可将整数和字符串转换为浮点数,示例代码如下。4.数字运算5.常用的内置数字处理函数单击此处编辑母版文本样式第二级第三级第四级第五级6.math模块3.1.2字符串字符串是一种有序的字符集合,用于表示文本数据。字符串中的字符可以是各种Unicode字符。字符串中的字符从左到右,具有位置顺序,支持索引、分片等操作。1.字符串常量Python字符串常量可用下列多种方法表示。(1)单引号字符串:'a'、'123'、'abc'。(2)双引号字符串:"a"、"123"、"abc"。(3)三重单引号或三重双引号字符串:'''Pythoncode'''、"""Pythonstring"""。三重引号字符串可以包含多行字符。(4)带“r”或“R”前缀的Raw字符串:r'abc\n123'、R'abc\n123'。(5)带“u”或“U”前缀的Unicode字符串:u'asdf'、U'asdf'。Python3中字符串默认为Unicode字符串,“u”或“U”前缀可以省略。2.转义字符转义字符用于表示不能直接表示的特殊字符。Python常用转义字符如表所示。3.字符串操作(1)判断字符串包含关系运算符“in”用于判断字符串中是否包含指定字符,示例代码如下。(2)合并字符串运算符“+”或空格用于连接字符串,示例代码如下。(3)复制字符串运算符“*”用于重复输出字符串,示例代码如下。(4)字符串的索引字符串中的各个字符可通过位置进行索引。字符串中的字符按从左到右的顺序,索引值依次为0,1,2,…,len-1(最后一个字符的索引值为字符串长度减1);或者为-len,…,-2,-1。索引指通过索引值来定位字符串中的单个字符,示例代码如下。(5)字符串的切片切片指利用索引值范围从字符串中获得连续的多个字符(子字符串)。切片的基本语法格式如下。上述代码表示返回字符串x中从索引值start开始,到索引值end之前(即不包含end,遵循“左闭右开”原则)的子字符串。start和end参数均可省略,start默认值为0,end默认值为字符串长度。示例代码如下。默认情况下,切片用于返回字符串中的多个连续字符,可以通过step参数来设置步长,从而跳过中间的字符,其基本语法格式如下。用这种格式切片时,会依次跳过中间step-1个字符,step默认值为1,示例代码如下。(6)字符串处理函数4.字符串格式化在Python中,目前可使用格式化运算符“%”、format()方法和f字符串3种方式对字符串进行格式化,示例代码如下。任务3.2“唐宋八大家”人名排序【任务目标】唐代的韩愈、柳宗元和宋代的苏洵、苏轼、苏辙、欧阳修、王安石、曾巩并称“唐宋八大家”,编写一个程序,将他们的姓名按汉语拼音排序,并分别按从前到后和从后到前的顺序输出,程序运行结果如下。【任务实施】……3.2复合数据类型Python中的复合数据类型包括列表(list)、集合(set)、元组(tuple)和字典(dictionary)等。Python将可通过位置进行索引的有限有序集称为序列。序列可分为可变序列和不可变序列。可变序列对象在创建后可以改变,不可变序列对象在创建后不能改变。字符串、字节串(由字节组成的二进制序列)和元组属于不可变序列,列表和字节数组属于可变序列。序列支持索引、切片和合并等操作。3.2.1列表列表用方括号[]表示,如[1,2,'abc']。列表的主要特点如下。(1)列表可以包含任意类型的对象:数字、字符串、列表、元组或其他对象。(2)列表是有序序列:与字符串类似,列表可通过位置执行索引和切片操作。(3)列表是可变的:列表长度可变,即可添加或删除列表元素;列表元素的值也可以改变。(4)每个列表元素存储的都是对象的引用,而不是对象本身,类似C/C++中的指针。列表操作示例3.2.2集合集合主要用于保存不重复的元素。集合中的元素具有唯一、无序和不可改变等特点。集合支持数学理论中的各种集合运算。1.创建集合集合用花括号{}表示,其中的元素使用逗号分隔。也可以用内置的set()函数创建集合。注意,空集合只能使用set()函数创建,“{}”表示空字典示例代码如下。2.集合运算集合支持求长度、判断包含、求差集、求并集、求交集、求对称差和比较等运算,示例代码如下。3.集合基本操作集合支持复制、添加和删除操作,但集合中的元素不支持索引和修改操作,示例代码如下。3.2.3元组元组可以被看作不可变的列表,它具有列表的大多数特点。元组用圆括号表示,如(1,2)、('a','b','abc')。元组的主要特点如下。(1)元组可包含任意类型的对象。(2)元组是有序的:元组中的对象可通过位置进行索引和切片操作。(3)元组长度不能改变:既不能为元组添加对象,也不能删除元组中的对象。(4)元组只能包含不可变对象。(5)元组中存储的是对象的引用,而不是对象本身。1.创建元组可用元组常量或tuple()函数来创建元组,示例代码如下。2.元组基本操作3.2.4字典字典包含一系列的键值对。字典用花括号表示,如{'name':'John','age':25,'sex':'male'}。其中,字符串'name'、'age'和'sex'为键,字符串'John'、'male'和数字25为值。字典的主要特点如下。(1)字典的键通常采用字符串,也可以采用数字、元组等不可变对象。(2)字典的值可以为任意类型。(3)字典也称为关联数组或散列表,它通过键映射值。字典是无序的,它通过键来访问映射的值,而不是通过位置来索引值。(4)字典属于可变映射,可修改键映射的值。(5)字典长度可变,可为字典添加或删除键值对。(6)字典可以任意嵌套,即键映射的值可以是一个字典。(7)字典存储的是对象的引用,而不是对象本身。1.创建字典可通过多种方法来创建字典,示例代码如下。2.字典基本操作【综合实例】数据排序编写一个程序,用输入的4个数创建列表和元组,并将它们分别按从小到大和从大到小的顺序输出,程序运行结果如下。THANKYOU单元4程序控制结构任务4.1计算个人综合所得税【任务目标】已知个人综合所得税税率如表4-1所示。设周某月工资及各项扣除费用(仅供参考)如表4-2所示。编写一个程序,计算周某全年应缴纳的个人综合所得税。【任务实施】……4.1分支结构程序的基本控制结构if语句match语句4.1.1程序的基本控制结构程序的基本控制结构有:顺序结构、分支结构和循环结构。顺序结构指程序按语句的先后顺序依次执行各条语句。程序通常默认为顺序结构的,Python也不例外,其程序总是从第1条语句开始顺序执行。例如,下面的程序属于典型的顺序结构程序。分支结构指程序根据条件选择执行不同的语句块。分支结构可分为单分支结构、双分支结构和多分支结构,任务4.1中的计算个人综合所得税程序是一个典型的多分支结构程序。循环结构指程序根据条件重复执行同一个语句块,示例代码如下。4.1.2if语句if语句可实现程序的分支结构,其基本语法格式如下。if语句的elif和else部分可以省略。执行if语句时,按先后顺序依次判断各个条件表达式,若条件表达式为True,则执行相应的语句块,否则判断下一个条件表达式。若所有条件表达式均为False,则执行else部分的语句块(如果else部分的语句块存在)。if语句的执行流程

示例代码

if…else三元表达式是简化版的if语句,其基本语法格式如下。当条件表达式为True时,将表达式1的值作为if…else三元表达式的结果;否则将表达式2的值作为if…else三元表达式的结果,示例代码如下。4.1.3match语句Python中的match语句与C语言、Java中的switch语句类似,用于实现多分支结构,其基本语法格式如下。match语句将表达式的值依次与case语句中的模式进行匹配。如果匹配成功,则执行对应的分支;如果没有匹配成功,且无“case_:”语句,则不执行任何分支。“_”为通配符,可匹配任意值,即必定会匹配成功。match语句最简单的形式是将一个目标值与一个或多个字面值进行匹配,示例代码如下。任务4.2从文件中检索指定唐诗【任务目标】文件“test4_poems.txt”中按下面的格式保存了若干首唐诗。编写一个程序,根据输入的唐诗标题,从文件中检索唐诗并输出,程序运行结果如下。【任务实施】……4.2循环结构for语句while语句break语句和continue语句4.2.1for语句for语句用于实现遍历循环,适用于已知迭代次数的场景,其基本语法格式如下。其中,else部分可以省略。object是一个可迭代对象。执行for语句时,依次将object中的数据赋值给变量var(此过程称为迭代),每赋值一次就执行一次循环体。循环执行结束时,如果有else部分,则执行对应的语句块。else部分只在正常结束循环时执行,如果用break语句跳出循环,则不会执行else部分。用n表示object中数据的索引值,for语句的执行流程如图示例代码

程序运行结果

range()函数可用于生成包含连续多个整数的range对象,其基本语法格式如下。只指定参数end时,生成的整数范围为0~end-1;指定参数start和end时,生成的整数范围为start~end-1。step为整数之间的差值,默认为1。示例代码

程序运行结果enumerate()函数可用于生成包含计数器的迭代对象,示例代码如下。4.2.2while语句while语句通过条件表达式的真假控制循环,适用于迭代次数未知的场景,可构造无限循环,其基本语法格式如下。其中,else部分可以省略。while语句的执行流程如图4-3所示。如果while语句中的条件表达式始终为True,则可构造无限循环—“死循环”。使用while语句计算1+2+…+1004.2.3break语句和continue语句在for语句和while语句中,可以使用break语句和continue语句控制循环。break语句用于跳出当前循环,即提前结束循环(包括跳过else部分)continue语句用于跳过循环体剩余语句,回到循环开头开始下一次循环。例如,下面的代码在for语句中使用break语句和continue语句实现了输出100~999的前10个回文数字(3位数中个位和百位相

温馨提示

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

评论

0/150

提交评论