《同济《Python程序设计》期末测试A答案.docx》由会员分享,可在线阅读,更多相关《同济《Python程序设计》期末测试A答案.docx(5页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、一、选择题(共10个,每个2分).在下列选项中,()不是常量.A python,B 8.25C pythonD True答案:c.下列语句中,()在Python中是非法的(变量已经定义)。A a += 1B a=b=0C int(True+l)D a + 1 = a + 1答案:D.设 a 二(Namelpython),则 type(t)的到的结果为()。A class dietB class tupleC 答案:A.设Str = I Love python,则下列操作结果错误的是()。A print(Str0)的结果为:TB print(Str0:7:2)的结果为:ILv,C print(n
2、 Love n in Str)的结果为:FalseD print(Str:-l + n S)的结果为:hohtyp evoL I S1答案:BPython中列表数据类型元素的切片非常强大,对于列表List = 宜,8,(52D,SexTWoman123,下面操作结果错误的是A ListfO + str(Listl)的结果为:匕8B List-ll + 1 = 2 的结果为:TrueC List:的结果为:a, 8, (5, 2, 1), Sex: Woman, L 2, 3D List22 0:b = b + 1a = a - 1if ab:c = c + belse:c = c + 0pri
3、nt(c),c 的值为()。A 2455B 2450C 2465D 2460答案:B8. die =“numl”:4Jnum2”:8,“num3”:3 def Sum(dic):number = 0for v in dic.values():if v%2=0:number = number + velse:number = number - vreturn numberprint(Sum(dic)的输出结果为()。A98C 10D 15答案:A.以下关于类的说法错误的是()。A 一个类可以定义多个属性。B 一个类至少有一个属性。C 一个类中可以不定义属性和方法。D 一个类中可以定义多个方法。答
4、案:B.以下关于Python文件打开模式的描述中,错误的是()。A只读模式rB追加写模式aC覆盖写模式wD创建写模式n答案:D 二、填空题(共10个,每个2分).使用matplotlib绘制散点图的函数是,使用matplotlib绘制饼图 的函数,使用matplotlib绘制直方图的函数是。答案:scatter(), pie(), bar(),已知列表x=list (range (10),那么执行语句 del x:2之后,x的值为 O答案:1,3,5,7, 91 .给出 range(L:103)的值:。答案:14刀4假设有一个列表a,现要求从列表a中每3个元素取1个,并且将取到的元素组成新的列
5、表b,可以使用语句 o答案:b= : : 35若 vehicle = train, bus, car, ship,贝 vehicle, index(car)的结果是 o答案:46.获取list的元素个数,和向末尾追加元素的方法分别是答案:size(), append()7,遍历字典的键-值对之时,需要用到 方法。答案:items。8 .要想结束程序的整个循环,应采用 语句。答案:break.自定义函数时以()关键字开头答案:function.如果要为定义在函数外的全局变量赋值,可以使用 语句,表明变量是在外面定义的全局变量。答案:global三、编程题(共4个,每个10分)1.有五个数字:1、
6、2、3、4、5,输出由这五个数字组成的所有互不相同且无重 复数字的三位数。答:for i in range (1, 6):for j in range (1, 6):for k in range (1, 6):if i != j and j!= k and i != k:print (i, j, k)2,打印一个由组成的菱形。答:rows=6for i in range(rows):for j in range(rows - i - 1):print (/z , end二)for k in range (2 * i - l):#(l,2*i)print(*,end二)print ()for i
7、 in range(rows-l):for j in range(i + 1):print (/z , end二)for k in range(2 * (rows-i) - 3):print(*, end二)print()3 .判断一个整数是否是回文数。答:def judge (x):return str(x) = str(x)::-lnum = input (请输入一个整数:)if judge(num):print ( 0是回文数format (num)else: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 工资 intenergy精力 默认值100私有属性 最大值100最小值0添力口 eat(money) ,say(),working。,sleep。,get_energy()方法,调用working方法为类tax
9、增加salary*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=0definit_(self,name,age, work,salary):self.n
10、ame=nameself.age=ageself.work=workself, salary=salaryself.energy = 100def working(self):People.tax+=self.salary*0.2self.energy=self.energy-30 if self.energy30 else 0def eat(self,money):self.energy=self.energy+10 if self.energy90 else 100self, sal ary-=moneydef sleep(self,energy):self.energy=self.ene
11、rgy+60 if self.energy40 else 100def say(self):print(我叫,年龄是,工作是。”.format(self.name,self, age,self .work)print(self.energy, self, salary)def get_energy(self):return self.energyclass Women(People):def shopping(self,money):self, salary -二moneyprint(self.salary)class Men(People):def say(self):super().say()print。笑话”)si =Women。花花:23,经理,20000) sl.sayOs2=Men(毛毛,20,主管,15000)s2.say()