首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
考生文件夹下存在两个Python源文件,分别对应两个问题,请按照文件内说明修改代码,实现以下功能。 马和骆驼都是哺乳动物,它们都有4只脚,体型也差不多大.我们将在这里为它们编写属于它们各自的类。 问题1:在“PY301-1.py”文件中修改
考生文件夹下存在两个Python源文件,分别对应两个问题,请按照文件内说明修改代码,实现以下功能。 马和骆驼都是哺乳动物,它们都有4只脚,体型也差不多大.我们将在这里为它们编写属于它们各自的类。 问题1:在“PY301-1.py”文件中修改
admin
2021-03-16
58
问题
考生文件夹下存在两个Python源文件,分别对应两个问题,请按照文件内说明修改代码,实现以下功能。
马和骆驼都是哺乳动物,它们都有4只脚,体型也差不多大.我们将在这里为它们编写属于它们各自的类。
问题1:在“PY301-1.py”文件中修改代码,代码中编写了一个马(Home)的类,在这个类中马有3个属性,分别是年龄(age)、品种(category)及性别(gender)。在每创建一个马的对象时,我们需要为其指定它的年龄、品种及性别。该类中还编写一个get_descriptive()方法,能够输出马的这3个属性。每一匹马都有自己的最快速度,所以类中有一个speed()方法,可以输出马的最快速度值。并且在马的生命过程中,它的速度一直在变,类中还有一个update_speed()方法用来更新马当前的最快速度值。
例如:一匹12岁的阿拉伯公马,在草原上奔跑的速度为50千米每小时,要求调用get_descriptive()和update_speed()方法,将输出的结果保存在考生文件夹下,文件命名为“PY301-1.txt”。
试题程序:
#以下代码为提示框架
#请在…处使用一行或多行代码替换
#请在________处使用一行代码替换
#注意:提示框架的代码可以任意修改,以完成程序功能为准
fo=open("PY301-1.txt","w")
________Horse():
def________(self,category,gender,age):
…
def get_descriptive(self):
info=’this horse is’+________+’years old,’+’its category is’+________+’.’+’its fender is’+________+’.’
fo.write(info+"\n")
def update__speed(self,new_speed):
________
fo.write(’the speed of this horse is’+str(self.horse_speed)+’km/h.’)
…
fo.close()
问题2:在“PY301-2.py”文件中修改代码,该代码编写了一个骆驼类(Camel)。这个类继承自上一个文件中的马类但是不对马类中的属性和方法进行操作。因为每个骆驼的驼峰数量不一致,我们在类中添加驼峰数目这个新属性,并且添加一个输出骆驼驼峰数目的方法。
例如:一个20岁的双峰母骆驼以每小时40千米的速度奔跑在沙漠中,调用父类的方法和Camel类本身的方法将结果保存在“PY301-2.txt”中,保存在考生文件夹下。
试题程序:
#以下代码为提示框架
#请在…处使用一行或多行代码替换
#请在________处使用一行代码替换
#注意:提示框架的代码可以任意修改,以完成程序功能为准
fo=open("PY301-2.txt","w")
________Horse():
def________(self,category,gender,age):
def get_descriptive(self):
info:’this horse is’+________+’years old,’+’its category is’+________+’,’+’its fender is’+________+’.’
fo.write(info+"\n")
def update_speed(self,new_speed):
________
fo.write(’the speed of this horse is’+str(self.horse_speed)+"km/h.\n")
class Camel(Horse):
def_init_(self,category,gender,age):
________._init_(category,gender,age)
self.hump_size=2
def describe_hump_size(self):
fo.write(’this camel has’+str(self.hump_size)+’hump.’)
…
fo.close()
选项
答案
(1)fo=open("PY301-1.txt","w") class Horse(): def_ _int_ _(self,category,gender,age): self.category=category self.gender=gender self.age=age self.horse=horse def get_descriptive(self): info=’this horse is’+str(self.age)+’years old,’+’its categoryis’+self.category+’,’+’its fender is’+self.gender+’.’ fo.write(info+"\n") def update_speed(self,new_speed): self.horse_speed=new_speed fo.write(’the speed of this horse is’+str(self.horse_speed)+"km/h.") horse=Horse("Arab","male","12") horse.get_descriptive() horse.update_speed(50) fo.close() (2)fo=open("PY301-2.txt","w") class Horse(): def_ _init_ _(self,category,gender,age): self.category=category self.gender=gender self.age=age self.horse_speed=0 def get_deseriptive(self): info=’this horse is’+str(self.age)+’years old,’+’its categoryis’+self.category+’,’+’its fender is’+self.gender+’.’ fo.write(info+"\n") def update_speed(self,new_speed): self.horse_speed=new_speed fo.write(’the speed of this horse is’+str(self.horse_speed)+"km/h.\n") class Camel(Horse): def_ _init_ _(self,category,gender,age): super()._ _init_ _(category,gender,age) self.hump_size=2 def describe_hump_size(self): fo.write(’this camel has’+str(self.hump_size)+’hump.’) camel=Camel("Double hump","famle","20") camel.get_descriptive() camel.update_speed(40) camel.describe_hump_size() fo.close
解析
(1)文件的操作需要调用open()方法以覆盖写模式打开文件。Python定义类使用的关键字是class,且类的名称首字母要大写。_ _init_ _()是类的特殊方法,当根据Horse类创建新实例时,Python都会自动运行它。
在这个方法中,开头和结尾各有两个下划线,这是固定格式。_ _init_ _()方法中定义了4个形参:self、eategory、gender及age。在这个方法定义中形参self必不可少,且必须位于其他形参前面。每个定义的变量都要以self为前缀,以self为前缀的变量都可供类中的所有方法使用。调用方法需要创建实例,然后使用点号表示法来调用Horse类中定义的任何方法。使用write()方法将结果写入文件“PY301-1.txt”中,操作完成之后,调用close()方法关闭文件。
(2)在“问题1”的基础上又添加了一个Camel类,super()是一个特殊函数,帮助Python将父类和子类关联起来。创建子类时,父类必须包含在当前文件中,且位于子类前面。定义子类时,必须在圆括号内指定父类的名称。
转载请注明原文地址:https://kaotiyun.com/show/ql6p777K
本试题收录于:
二级Python题库NCRE全国计算机二级分类
0
二级Python
NCRE全国计算机二级
相关试题推荐
设数据库有如下表:学生(学号,姓名,出生日期,专业)成绩(学号,课程号,考试分数)学生表中的主键是学号,成绩表中的主键是学号和课程号。已知学生表中共有100名学生,有60人参加了课程号为“C001”的考试,考试分数保存在成绩表中,其中有10人不及格。
下列表达式中,不属于VisualFoxPro合法的逻辑表达式的是()。
有一个图书表:图书.DBF;总编号C(6),分类号C(6),书名C(30),作者C(6),出版单位C(20),单价N(8,2)要查询出版单位中含“教育”字样的图书,正确的SQL语句是()。
(1)在考生文件夹下,将BOOKS表中所有书名中含有“计算机”3个字的图书复制到BOOKS_BAK表中,以下操作均在BOOKS_BAK表中完成。(2)复制后的图书价格在原价格的基础上降低5%。(3)从图书均价高于25元(含25)的出版社中,查询并显示图
用程序计算一个整数的各位数字的乘积,在下划线处应填写的语句是()。INPUT“NUM=”TOnumcj=1DOWHlLEnum!=0cj=cj*MOD(num,10)ENDDO?cj
以下小题使用如下关系:客户(客户号,名称,联系人,邮政编码,电话号码)产品(产品号,名称,规格说明,单价)订购单(订单号,客户号,订购日期)订购单名细(订单号,序号,产品号,数量)查询客户名称中有“网络”二字的客户信息的正确命令是()。
设A=[6*8-2]、B=6.8.2、C=“6*8—2”,属于合法表达式的是()。
假设在表单设计器环境下,表单中有一个复选框且已经被选定为当前对象。现在从属性窗口中选择Value属性,然后在设置框中输入T。请问以上操作后,复选框Value属性值的数据类型为()。
一个栈的初始状态为空。现将元素1、2、3、4、5、A、B、C、D、E依次入栈,然后再依次出栈,则元素出栈的顺序是
在软件开发中,需求分析阶段产生的主要文档是
随机试题
下列关于产品缺陷与产品瑕疵的表述,不正确的是()
A.激光B.阿昔洛韦C.阿奇霉素D.青霉素E.头孢三嗪尖锐湿疣首选
在直线相关分析中,r=1表示两变量间的相关关系为
反击式水轮机按转轮区内水流相对于主轴流动方向的不同可分为()。
在航空运输中,如果承运人证明受害人自己的过失是造成损失的原因或原因之一,法院可以按照其法律规定免除承运人的责任。
在签订理财规划服务合同时,理财规划师应注意的事项有()。
所谓“田盲”指的是一些青年农民对农活知识的缺乏,远离农活,碰到稍复杂的农活就一筹莫展。根据上述定义,下列选项符合上述定义的是()。
北魏首创均田制,隋至唐初一直沿用。均田制下农业生产经营的主要形式是()。
YouwillhearMarkFinch,awell-knownbusinessconsultant,speakingtoagroupofbusinesspeopleataseminar.Foreachque
Readthearticlebelowaboutthecorporatehumorbusiness.Foreachquestion31-40,writeonewordinCAPITALLETTERSonyourAn
最新回复
(
0
)