《同济《Python程序设计》期末测试B答案.docx》由会员分享,可在线阅读,更多相关《同济《Python程序设计》期末测试B答案.docx(5页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、一、选择题(共10个,每个2分)1.在下列选项中,()不是常量.A pythonB 8.25C pythonD True答案:C.下列语句中,()在Python中是非法的(变量已经定义)。A a += 1B a=b=()C int(True+l)D a + 1 = a + 1答案:D. ig a = (Name/python1),则 type(t)的到的结果为()。A B C D 答案:A.设Str = I Love python,则下列操作结果错误的是()。A print(Str0)的结果为:TB print(Str0:7:2)的结果为:ILvC print(M Love in Str)的结
2、果为:FalseD print(Str:-l + “ S”)的结果为:nohtyp evoL I S答案:B. Python中列表数据类型元素的切片非常强大,对于列表List = a;8,(5,2,1), SexfWoman, 1,2,3,下面操作结果错误的是 ().A ListO + str(Listl)的结果为:匕8B List-ll + 1 = 2 的结果为:TrueC List:的结果为:a; 8, (5, 2, 1), Sex: Woman), 1, 2, 3D List22 0:b = b + 1a = a - 1ifab:c = c + belse:c = c + 0print(
3、c),c 的值为()。A 2455B 2450C 2465D 2460答案:B. die = num 1 :4,num2:8,num3:3def Sum(dic):number = 0for v in dic.values():ifv%2=0:number = number + velse:number = number - vreturn numberprint(Sum(dic)的输出结果为()。A9B8C 10D 15答案:A.以下关于类的说法错误的是()。A 一个类可以定义多个属性。B 一个类至少有一个属性。C 一个类中可以不定义属性和方法。D 一个类中可以定义多个方法。答案:B.以卜.
4、关于Python文件打开模式的描述中,错误的是0。A只读模式rB追加写模式aC覆盖写模式wD创建写模式n答案:D二、填空题(共10个,每个2分)1 .使用matplotlib绘制散点图的函数是,使用matplotlib绘制饼图 的函数,使用matplotlib绘制直方图的函数是。答案:scatter。,pie(), bar().已知列表x = list(range(lO),那么执行语句del x:2之后,x的 值为 o答案:1, 3, 5, 7, 9.给出 range。,10,3)的值:。答案:口,4,7.假设有一个列表a,现要求从列表a中每3个元素取1个,并且将 取到的元素组成新的列表b,可
5、以使用语句。答案:b=: :3.若 vehicle = train, bus, car, ship, 则 vehicle, index(car)的结果是 o答案:42 .采取list的元素个数,和向末尾追加元素的方法分别是答案:sizeO , append()3 .遍历字典的键-值对之时,需要用到 方法。答案:items。4 .要想结束程序的整个循环,应采用 语句。答案:break.自定义函数时以()关键字开头答案:function.如果要为定义在函数外的全局变量赋值,可以使用 语句,表明变量是在外面定义的全局变量。答案:global三、编程题(共4个,每个10分)1 .有五个数字:1、2、3
6、、4、5,输出由这五个数字组成的所有互不相同且无重 复数字的三位数。答:for i in range(1, 6):for j in ranged, 6):for k in range (1, 6):if i != j and j!= k and i != k:print (i, j, k).打印一个由组成的菱形。答:rows=6for i in range(rows):for j in range(rows - i - 1):print (,? , end二)for k in range(2 * i - 1) :#(1, 2*i)print (*,end二)print ()for i i n
7、range(rows-1):for j in range (i + 1):print (z,end=)for k in range(2 * (rows-i) - 3):print(*”, end二)print()2 .判断一个整数是否是回文数。答:def judge (x):return str(x) = str(x)::-lnum = input (请输入一个整数:)if judge(num):print (J 0是回文数format (num)el se:print。0不是回文数format (num).打印出所有100到499的水仙花数(水仙花数是指一个三位数,其各位数字 立方和等于该数
8、木身)。答:for i in range(100, 500):x=i%10y=(i/10)%10z=i/100if (x*x*x+y*y*y+z*z*z) =i:print (i)四、综合题(共1个,每个20分)定义People类,添加类属性tax添加初始化方法,初始化时,为对象添加如下属性name 姓名 stringage年龄intwork 工作 stringsalary 工资 inienergy精力默认值100私有属性最大值100最小值0添力 eat(money) ,say(),working。,sleep。,get_energy()方法,调用working方法为类tax增加salary*
9、0.2值,energy属性减少30调用eat方法energy 属性+10salary减少money对应的值调用sleep方法energy 属性+60调用say方法打印自我介绍调用get_energy()方法获取对象的energy属性值 定义Woman类 继承People类添加shopping方法 接收money参数,调用shopping方法salary属性减少 money对应得值。定义Man类继承People类重写父类方法打印自我介绍打印一个笑话答案:class People():tax=()definit_(sei f,name,age, work,salary):self.name=nam
10、eself.age=agesclf.work=workself.salary=salarysei f.energy= 100def working(self):People.tax+=self.salary*crgy=crgy-30 if crgy30 else 0def eat(self,money):self.energy=self.energy+10 if self.energy90 else 100self.salary-=moneydef sleep(self,energy):self._energy=self._energy+60 if self._energy40 else 10
11、0def say(self)-print(我叫,年龄是,工作是 o .format(sclf.namc,sclf.agc,self.work)print(self._energy,self.salary)def get_energy(self):return self._energyclass Women(People):def shopping(self,money):sei f.salary-=moneyprint(self.salary)class Men(People):def say(self):super().say()prinl(“笑话”)s gWomen(花花,23;经理,2()000) sl.sayOs2=MenC 毛毛,,2();主管50()0)s2.say()