版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
任务2:单个学生成绩处理Python程序设计1、任务描述目录2、技术准备Python程序设计3、任务实施1、任务描述学生成绩管理模块需要完成学生考试成绩的相关处理:如统计每门课程的最高分、最低分、平均分、成绩排序等。本任务主要完成对单个学生成绩的处理:统计某个学生选修课程的总分和平均分。完成本任务需要了解和掌握Python中编写程序的一些基本知识:数据的表示、存储和运算。2.1标识符与关键字技术准备2.2数据类型Python程序设计2.3常量与变量2.4运算符与表达式2.5类型判断与类型转换2.1标识符与关键字1.标识符标识符是程序开发人员自己定义的一些符号和名称,这些符号和名称用来标识编写程序用到的变量名、函数名、文件名等。简单地说,标识符就是一个名字。使用标识符时应遵循以下几点。(1)标识符只能由字母、数字和下画线三种字符组成,且第一个字符必须为字母或下画线。Python3.X中采用Unicode字符集,utf-8编码规则,该字符集本身支持中文。因此,Python3.X中允许标识符中有汉字。(2)标识符大小写敏感,也即严格区分大小写,所以Student和student是两个不同的标识符。(3)标识符没有长度限制。(4)不能使用关键字作为标识符。2.1标识符与关键字可利用系统提供的内置函数isidentifier()函数来判断某一标识符是否合法,如果返回值是True,就表示是合法标识符,如果返回值是False就表示是非法标识符。>>>'abc'.isidentifier()#'abc'是合法标识符True>>>'_123'.isidentifier()#'_123'是合法标识符True>>>'23'.isidentifier()#'23'为非法标识符False2.1标识符与关键字2.关键字Python中关键字有特殊含义,不允许通过任何方式改变其含义,也不允许其用来作为变量名、函数名等标识符。Python自带了一个keyword模块,用于检测关键字。要想查看Python中的关键字,可在导入模块keyword后,利用keyword.kwlist来查看所有关键字。代码如下:>>>importkeyword>>>keyword.kwlist2.2数据类型Python中的基本数据类型:数据类型示例整型(int)2,3浮点型(float)3.4,3e5复数型(complex)3-4j,3+4J字符串(str)'Python',"good"字节串(bytes)b'\0x41'布尔型(bool)只有两个值:True,False空类型(NoneType)None2.2数据类型1.整型(int)整型数据也就是通常所说的整数,可正可负。有以下几种不同表示形式:十进制整数:如0、-1、9、123十六进制整数:以0x开头,如0x10、0xfa、0xabcdef八进制整数:以0o开头,如0o35、0o11二进制整数:以0b开头如,0b101、0b1002.2数据类型2.浮点型(float)浮点型数据由整数部分与小数部分组成,既可以用小数形式表示(如2.3),也可以使用科学计数法表示(如2.3e-5,2.5e2)。在使用科学计数法表示时,要求字母e(或E)前面必须有数字,后面必须为整数。2.2数据类型3.复数(complex)复数由实部和虚部两部分构成,虚部以字母j或J结尾,可以用形如a+bj或a+bJ表示,如3+2j,3–4J。2.2数据类型在Python中,将整型、浮点型和复数统称为数字类型(Number)。对于数字类型,Python提供了大量的函数可对其操作。常用的内置函数有求绝对值函数abs(x)、四舍五入取整函数round(x[,小数位数])等。>>>abs(-9.8)#求绝对值9.8>>>round(123.4567,2)#保留2位小数123.46>>>round(123.4567)#取整(也即保留0位小数)123>>>help(round)2.2数据类型除了内置函数之外,标准模块math中也提供了大量的函数可供数字型数据使用。函数功能说明ceil(x)返回数字的上入整数,如math.ceil(4.1)返回5floor(x)返回数字的下舍整数,如math.floor(4.9)返回4sqrt(x)返回x的平方根factorial(x)返回x的阶乘gcd(x,y)返回x、y的最大公约数log10(x)log10xlog2(x)log2xsin(x)、cos(x)、tan(x)等三角函数2.2数据类型>>>importmath>>>math.ceil(8.3)9>>>math.ceil(8.9)9>>>math.floor(8.3)8>>>math.floor(8.9)8>>>help(math.ceil)2.2数据类型4、字符串(1)普通字符串字符串是指用单引号、双引号或三引号括起来的一串字符。如'a'、"中国"、'''Python'''。单引号、双引号、三单引号、三双引号可以互相嵌套,用来表示复杂字符串。例:'''Tomsaid,"Let'sgo"'''。空字符串可用''或""来表示。2.2数据类型(2)转义字符有一些具有特殊含义的控制字符,如回车、换行等,这些非显示字符难以用一般形式的字符表示,通常用“\”开头,后面跟一个固定字符来表示,称为转义字符。转义字符含义转义字符含义\\反斜杠符号\v纵向制表符\'单引号\t横向制表符\"双引号\n换行\a响铃\r回车\b退格(Backspace)\f换页2.2数据类型(3)原始字符串字符串定界符前面加字母r或R表示原始字符串,其中的特殊字符不进行转义,但字符串的最后一个字符不能是“\”。原始字符串主要用于正则表达式、文件路径或者URL等场合。2.2数据类型>>>print('C:\Windows\notepad.exe')#字符\n被转义为换行符C:\Windowsotepad.exe>>>print(r'C:\Windows\notepad.exe')#原始字符串,任何字符都不转义C:\Windows\notepad.exe>>>print('d:\workspace\temp')#字符\t被转义为横向制表符d:\workspace emp>>>print(r'd:\workspace\temp')#原始字符串,任何字符都不转义d:\workspace\temp2.2数据类型5.字节串(bytes)字节串是指以字母b或B开始,以单引号、双引号、三引号引起来的一串字节,如:b'\0x41'。6.布尔型(bool)布尔型数据只有两个值:True和False。7.空类型(NoneType)Python中空类型只有一个数据值None,表示什么都没有。与0值和空字符串""不同。2.3常量与变量
2.4运算符与表达式不同的数据类型适用于不同的运算符,Python中针对不同的数据类型提供了几种不同的运算符。用运算符、括号将数据连接起来的有意义的式子称为表达式。2.4运算符与表达式1.算术运算符算术运算符用于对数字型数据(整型、浮点型、复数)进行运算。运算符含义示例+加3+5的结果为8-减3–2的结果为1*乘3*2的结果为6/除5/2的结果为2.5%取余5%2的结果为1**幂运算3**2的结果为9//求整商9//4的结果为22.4运算符与表达式(1)“//”的结果为整数,对整数和浮点数都可用,如操作数中有浮点数,结果为浮点数形式的整数。(2)“/”的结果是浮点数。(3)对于复数,“%”和“//”运算无效。(4)对浮点数来说,“%”运算的结果是“a//b”的浮点数余数,即“a–(a//b)*b”。(5)算术运算符的优先级是先幂运算,然后乘除取余求整商,最后加减。2.4运算符与表达式>>>13//3#整数进行“//”运算结果为整数4>>>8.9//3#浮点数进行“//”运算结果为浮点数形式的整数2.0>>>10/5#“/”运算结果为浮点数2.0>>>10.5%2#浮点数求余0.5>>>(3+4j)%2#复数不能进行“%”运算Traceback(mostrecentcalllast):File"<pyshell#30>",line1,in<module>(3+4j)%2TypeError:can'tmodcomplexnumbers.2.4运算符与表达式2.关系运算符关系运算符通常用于比较两个数据之间的大小关系。运算符含义示例<
小于3<5的结果为True<=小于或等于4<=3的结果为False>
大于4>5的结果为False>=大于或等于4>=5的结果为False==等于4==5的结果为False!=不等于4!=5的结果为True2.4运算符与表达式(1)通常情况下,关系运算符用于比较同一类型的操作数,且操作数之间能比较大小,比较才有效。(2)复数无法进行比较。(3)Python中允许关系运算符的连用。如“2<10<17”相当于“2<10并且10<17”。(4)关系运算符的优先级都是一样的。2.4运算符与表达式>>>4<3False>>>5.8>8False>>>4<5<8#等价于4<5并且5<8True>>>3>2<4#等价于3>2并且2<4True>>>1==1>0#等价于1==1并且1>0True>>>'a'<'b'True2.4运算符与表达式>>>3+4j>3+3j#复数无法比较大小Traceback(mostrecentcalllast):File"<pyshell#36>",line1,in<module>3+4j>3+3jTypeError:'>'notsupportedbetweeninstancesof'complex'and'complex'>>>"hello">4#字符串和数字不能比较Traceback(mostrecentcalllast):File"<pyshell#24>",line1,in<module>"hello">4TypeError:'>'notsupportedbetweeninstancesof'str'and'int'2.4运算符与表达式3.逻辑运算符逻辑运算符只有3个,按优先级从高到低分别是not、and和or。运算符逻辑表达式含义示例notnotx逻辑非:如果x为True(或等价于True),返回False。如果x为False(或等价于False),它返回TrueNotTrue的结果为Falseandxandy逻辑与:如果x是False(或等价于False),它返回x的值,否则它返回y的值TrueandFalse的结果为Falseorxory逻辑或:如果x是True(或等价于True),它返回x的值,否则它返回y的值TrueorFalse的结果为True2.4运算符与表达式(1)一般来说,逻辑运算符两边的操作数应是布尔型数据,但由于布尔型数据True和False分别映射到整型数据的1和0,可以将整数的非0值理解为True,而整数0理解为Fasle,因此逻辑运算符两边的操作数可以是非布尔型数据。(2)当逻辑运算符两边的操作数不是布尔型数据True和False时,运算符and和or的结果也不一定是True或False,但运算符not的结果一定是True或False。(3)逻辑运算符and和or具有短路求值的特性,对于“表达式1and表达式2”运算,如果表达式1的值为False或相当于False,则直接返回表达式1的值,表达式2不会被计算;对于“表达式1or表达式2”运算,如果表达式1的值为True或相当于True,则直接返回表达式1的值,表达式2不会被计算。2.4运算符与表达式>>>8and5#表达式1的值相当于True,返回表达式2的值5>>>0and6#表达式1的值相当于False,返回表达式1的值0>>>4or3#表达式1的值相当于True,返回表达式1的值4>>>0or4+5#表达式1的值相当于False,返回表达式2的值9>>>not4False>>>not0True2.4运算符与表达式4.字符串运算符Python中字符串运算符:运算符含义示例+字符串连接"hello"+"Python"的结果为'helloPython'*字符串重复"hello"*3的结果为'hellohellohello'2.4运算符与表达式5.位运算符位运算符只能用于整数,其内部执行过程是:首先将整数转换为二进制数,然后按位进行运算,最后再把计算结果转换为十进制数返回。变量a为60(00111100),b为13(00001101)。运算符含义示例&按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0(a&b)输出结果12,二进制解释:00001100|按位或运算符:只要对应的二个二进位有一个为1时,结果位就为1。(a|b)输出结果61,二进制解释:00111101^按位异或运算符:当两对应的二进位相异时,结果为1(a^b)输出结果49,二进制解释:00110001~按位取反运算符:对数据的每个二进制位取反,即把1变为0,把0变为1(~a)输出结果-61,二进制解释:11000011<<
左移动运算符:运算数的各二进位全部左移若干位,由“<<”右边的数指定移动的位数,高位丢弃,低位补0。a<<2输出结果240,二进制解释:11110000>>
右移动运算符:把“>>”左边的运算数的各二进位全部右移若干位,“>>”右边的数指定移动的位数a>>2输出结果15,二进制解释:000011112.4运算符与表达式6.赋值运算符运算符含义示例=简单的赋值运算符a=8+=加法赋值运算符a+=2等效于a=a+2-=减法赋值运算符a-=2等效于a=a-2*=乘法赋值运算符a*=2等效于a=a*2/=除法赋值运算符a/=2等效于a=a/2%=取模赋值运算符a%=2等效于a=a%2**=幂赋值运算符a**=2等效于a=a**2//=取整除赋值运算符a//=2等效于a=a//22.4运算符与表达式Python中的赋值运算符分为简单赋值运算符和复合赋值运算符。(1)简单赋值运算符“=”是简单赋值运算符,其作用是给变量赋值。(2)复合赋值运算符在简单赋值运算符“=”前加上其他运算符(不仅仅只是表中列出的算术运算符,还可以是位运算符),就构成复合赋值运算符,如“+=““-=““*=““<<=”、“&=”等。a+=3等价于a=a+3,采用复合赋值运算符可使程序更加简洁。2.4运算符与表达式7.身份运算符身份运算符主要用于比较两个对象的存储单元是否相同,有is和isnot两个运算符。运算符含义
示例is判断两个标识符是不是引用自同一个对象,如果是引用自同一个对象,返回值为True,否则为Falseaisb,如果id(a)等于id(b),返回Trueisnot判断两个标识符是不是引用自不同对象,如果是引用自不同对象,返回值为True,否则为Falseaisnotb,如果id(a)不等于id(b),返回True2.4运算符与表达式在python中采用的是基于值的内存管理方式。当给一个变量赋值时,系统并不是把变量值直接存储在变量中,而是首先在内存中寻找一块合适的区域把变量值存于其中,然后把这个内存地址赋值给变量,因此在Python中变量存储的并不是直接的变量值,而是变量值的地址。如果为不同变量赋值为相同值,这个值在内存中只有一份,多个变量指向同一块内存地址。例如,对赋值语句“a=3,b=3”来说,其存储形式如下所示:2.4运算符与表达式Python的内置函数id()可用来返回变量所指值的内存地址,因此可用于查看两个变量是否指向同一个存储对象。>>>a=3>>>id(a)1980090096>>>b=3>>>id(b)19800900962.4运算符与表达式身份运算符is就相当于判断两个变量的id()值是否相同,如果相同,返回值为True,否则为False。身份运算符isnot就相当于判断两个变量的id()值是否不相同,如果不相同,返回值为True,否则为False。>>>a=3>>>b=3>>>id(a)1980090096>>>id(b)1980090096>>>aisb#a和b都指向同一个存储地址True>>>a=4#a指向的地址发生了改变>>>id(a)1980090128>>>aisb#a和b不再指向同一个存储地址False>>>aisnotbTrue2.4运算符与表达式8、成员运算符成员运算符主要用于测试一个数据是否是一个序列中的数据成员。运算符含义示例in判断一个数据是否是一个序列中的数据成员,如果是,返回值为True,否则返回值为False"h"in"hello"结果为Truenotin判断一个数据是否不是一个序列中的数据成员,如果不是,返回值为True,否则返回值为False"H"notin"hello"结果为True>>>'h'in'hello'True>>>'H'in'hello'False2.4运算符与表达式9、运算符优先级运算符描述+a,-a,~a一元运算符(正、负、取反)**乘方(从右至左运算)*、/、//、%乘、除、整除、取余+、-加、减<<、>>左移、右移&按位与^按位异或|按位或<、<=、>、>=、==、!=关系运算符is、isnot身份运算符in、notin成员运算符not逻辑非and逻辑与or逻辑或2.5类型判断与类型转换1、类型判断(1)type()函数格式:type(对象)功能:返回对象的数据类型。>>>type(3)#查看整数3的数据类型<class'int'>>>>type("3")#查看字符串"3"的数据类型<class'str'>>>>type(True)#查看布尔数据True的数据类型<class'bool'>>>>type(3.4)#查看浮点数3.4的数据类型<class'float'>>>>type(b'h')#查看字节串b'h'的数据类型<class'bytes'>>>>type(3+4j)#查看复数3+4j的数据类型<class'complex'>>>>type(None)#查看空值None的数据类型<class'NoneType'>2.5类型判断与类型转换(2)isinstance()函数格式:isinstance(对象,类型)功能:用于判断一个对象是否是指定数据类型的一个实例,如果是,返回True,否则返回False。>>>isinstance(3,int)#判断3是否是整型的一个实例True>>>isinstance("3",int)#判断"3"是否是整型的一个实例False>>>isinstance("3",str)#判断"3"是否是字符型的一个实例True2.5类型判断与类型转换2.类型转换原则上应该是同种类型的数据参加相应的运算,但实际上有些不同类型之间的数据也可以参加运算,当不同类型之间数据参加运算时,此时会发生数据类型的转换,例如计算表达式“3+4.5”时Python解释器会把整型数3转换成浮点数然后再运算,最终结果为浮点型数据,这种由系统自动完成的类型转换称之为隐式类型转换,也称自动类型转换。当自动类型转换不能满足要求时,如对上述表达式“3+4.5”,希望最终结果是整型数,这时就可采用强制类型转换。2.5类型判断与类型转换Python中内置了一系列可用于实现强制类型转换的函数,常用转换函数如下表所示:函数功能int()将浮点型、布尔类型和符合数值规范的字符串转换为整型float()将整型和符合数值规范的字符串转换为浮点型complex()将其他数值类型或符合数值类型规范的字符串转换为复数类型str()将数值类型转换为字符串ord()返回单个字符的Unicode编码chr()返回指定Unicode编码对应的字符2.5类型判断与类型转换>>>int(3.6)#将浮点数转换为整型数3>>>int(True)#将布尔型数据转换为整型数1>>>int("34")#将字符串转换为整型数34>>>float(3)#将整型数转换为浮点数3.0>>>float(True)#将布尔型数据转换为浮点数1.0>>>complex(3)#将整数转换为复数,只给出一个参数时此参数实部,虚部默认为0(3+0j)>>>complex(3,5)#将整数转换
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 皮草大衣销售话术
- 消防安全公共教育平台
- 光明联想电气安全培训课件
- 2025-2026学年广东省学八年级(上)期中语文试卷
- 光伏网络安全培训
- 2025-2026学年统编版八年级道德与法治上学期期末常考题之走近社会生活
- 留学生经济考试题及答案
- 口腔验收考试题目及答案
- 2024译林版四年级英语上册Unit 7 Seasons每课时教学设计汇编(含三个教学设计)
- 先进科学技术
- 2025年广东高考生物试卷及答案
- 2026中国华电集团产融控股有限公司校园招聘备考题库附答案
- 2025年小学心理健康测考试试题及解析答案
- 2025-2026学年湘美版小学美术四年级(上册)期末测试卷附答案(4套)
- 2025年新材料科技创新平台建设可行性研究报告
- 2025版 全套200MW800MWh独立储能项目EPC工程概算表
- 2025年1月黑龙江省普通高中学业水平合格性考试物理试卷(含答案)
- 2026年班组建设年度工作计划
- 知识点及2025秋期末测试卷(附答案)-苏教版(新教材)小学科学小学科学二年级上册
- 《城市轨道交通车站机电设备运用》课件 项目三:站台门系统
- 船舶协议装运合同
评论
0/150
提交评论