首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
考生文件夹下存在两个Python源文件,分别对应两个问题,请按照文件内说明修改代码,实现以下功能: 马和骆驼都是哺乳动物的一种,它们都有四只脚,体型也差不多大,作为现实世界中的一个类生物,我们将在这里为它们编写属于它们各自的类。 问题1:在
考生文件夹下存在两个Python源文件,分别对应两个问题,请按照文件内说明修改代码,实现以下功能: 马和骆驼都是哺乳动物的一种,它们都有四只脚,体型也差不多大,作为现实世界中的一个类生物,我们将在这里为它们编写属于它们各自的类。 问题1:在
admin
2020-04-10
96
问题
考生文件夹下存在两个Python源文件,分别对应两个问题,请按照文件内说明修改代码,实现以下功能:
马和骆驼都是哺乳动物的一种,它们都有四只脚,体型也差不多大,作为现实世界中的一个类生物,我们将在这里为它们编写属于它们各自的类。
问题1:在PY301一1.py文件中修改代码,代码中编写了一个马(Home)的类,在这个类中马有三个属性,分别是年龄(age)、品种(category)和性别(gender)。在每创建一个马的对象时,我们需要为其指定它的年龄、品种和性别。该类中还编写一个get_deseriptive()方法,能够打印出马的这三个属性。每一匹马都有自己的最快速度,所以类中有一个speed()方法,可以打印出马的最快速度值。并且在马的生命过程中,它的速度一直在变,类中还有一个update_speed()方法用来更新马当前的最快速度值。
例如:一匹12岁的阿拉伯公马,在草原上奔跑的速度为50km/h,要求调用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 fendem 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 ==init==(self,category,gender,age): self.category=category self.gender=gender self.age=age self.horse_speed=0 def get_descriptive(self): info = ’this horse is’ +str(self.age) + ’years old, ’ + ’its category is’ +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_deseriptive() 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_descriptive(self): info = ’this horse is’+str(self.age)+ ’years old,’+ ’its category is’ +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 0f 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","female","20") camel.get_descriptive() camel.update_speed(40) camel.describe_hump_size() fo.close()
解析
(1)文件的操作需要调用open()函数以写模式打开文件。Python定义类使用的关键字是class,且类的名称首字母要大写。_init_()是类的特殊方法,当根据Horse类创建新实例时,Python都会自动运行它。在这个方法中,开头和结尾各有两个下划线,这是一种约定。_init_()方法中定义了四个形参:self、category、gender和age。在这个方法定义中形参self必不可少,且必须位于其他形参前面。每个定义的变量都要以self为前缀,以self为前缀的变量都可供类中的所有方法使用。调用方法需要创建实例,然后使用点号表示法来调用Horse类中定义的任何方法。使用write()方法将结果写入到文件“PY301一1.txt”中,操作完成之后,调用close()方法关闭文件。
(2)在“问题1”的基础上又添加了一个Camel类,super。()是一个特殊函数,帮助Python将父类和子类关联起来。创建子类时,父类必须包含在当前文件中,且位于子类前面。定义子类时,必须在括号内指定父类的名称。
转载请注明原文地址:https://www.kaotiyun.com/show/Pg6p777K
本试题收录于:
二级Python题库NCRE全国计算机二级分类
0
二级Python
NCRE全国计算机二级
相关试题推荐
在考生目录下完成下列操作:(1)从数据库stock中移去表stock_fk(不是删除)。(2)将自由表stock_name添加到数据库中。(3)为表stock_s1建立一个主索引,索引名和索引表达式均为“股票代码”。(4)为stock_name表的
设有如下程序段:j=5DOWHILEj=0j=j-1ENDDO则下列描述中正确的是()。
在SQL语句中,将多个查询结果合成一个结果集合的运算符是()。
下面图中属于软件设计建模工具的是()。
“教师表”中有“职工号”、“姓名”和“工龄”等字段,其中“职工号”为主关键字,建立“教师表”的SQL命令是()。
在考生文件夹上,完成如下操作:1.打开考生文件夹下的表单one,如下图所示,编写“显示”命令按钮的Click事件代码,使表单运行时单击该命令按钮则在Text1文本框中显示当前系统日期的年份(提示:通过设置文本框的Value属性实现,系统日期函数是date
在考生文件夹下完成下列操作:(1)用命令新建一个名为“外汇”的数据库.并将该命令存储于one.txt中。(2)将自由表“外汇汇率”、“外汇账广”、“外汇代码”加入到新建的“外汇”数据库中。(3)用SQL语句在“外汇”数据库中新
要将VisualFoxPro系统菜单恢复成标准配置,可先执行SETSYSMENUNOSAVE命令,然后再执行
Python文件的后缀名是
随机试题
甲公司为乙公司对丙公司的债权提供保证,未明确约定保证方式和保证期限,债权履行期为2年,同时丙公司将100吨水泥交付给乙公司作为质押,但未签订质押合同,1年后,乙公司将债权转让给丁公司,甲公司不知情。到期后,丙公司未能履行债务,丁公司遂起诉丙公司履行债务并要
关于犯罪中止,下列哪些说法正确?
背景材料: 某施工单位承接了某二级公路的施工,工程合同总价为6758万元。其工程划分见下表: 本项目中的桥梁工程为一座3×25m简支梁桥,梁板采用预制构件。 根据施工组织安排,排水工程(B)开始施工20d后才能开始路基土石方工程(A)
1.背景2011年5月20日,某建筑公司(乙方)与某开发商(甲方)签订了住宅项目建设工程施工合同。乙方编制的施工方案和进度计划已获监理工程师批准。该工程的基坑开挖土方量为4500m3,其中土方挖掘直接费单价为4.2元/m3,综合费率为直接费的20%。该基
在石油化工企业的日常生产运行中,油品储存主要靠储罐存放。下列储罐中符合投资少、建设周期短、日常维护和管理方便的要求的储罐是()。
归属于房地产的除去各种费用后的收益是()。
宪法的特征主要有()。
一、注意事项1.《申论》考试,与传统作文考试不同,是分析驾驭材料的能力与对表达能力并重的考试。2.作答参考时限:阅读资料40分钟,作答110分钟。3.仔细阅读给定资料,然后按“申论要求”依次作答。二、给定资料1.领导干部,
Partiesarethereforefreetostriveforasettlementwithoutjeopardizingtheirchancesfororinatrimifmediationisunsucc
Thefollowingisabusinessletter.DearMr.Green,AsyournameandaddresswerelistedinTheBusiness,wearewritingto
最新回复
(
0
)