- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
一、编程题
1、36.钢筋问题
统计三角形数量及钢筋总长度。某工程需要很多由钢筋组成的三角形,在文本文件
“data.txt”中每一行的三个数字分别表示三根钢筋的长度(整数,单位:厘米,数字
间用空格隔开),若这三根钢筋能组成三角形,要求统计并输出三角形数量以及这
些钢筋材料的总长度(若不能组成三角形则不对这些数据进行统计),文本文件数
据如图a所示,程序运行界面如图b所示。
|
完成该任务的思路是:首先从文本文件“data.txt”读取文本内容到变量line,提取边
长数据后,统计数据并输出结果。相关代码如下,请补全代码:def
readfile(filename):f=open(filename,encoding=utf-8)m=[];n=[];k=[]line=
f.readline()whileline:x=line.strip().split()m.append(int(x[0]))n.append(int(x[1]))
k.append(int(x[2]))①f.close()returnm,n,kdeftriangle(x,y,z):#
判断数据x、y、z能否组成三角形flag=Falseif②:flag=Truereturnflag
a,b,c=readfile(/data/③)
#读入文件n=len(a);count=0;sum=0print(能组成三角形的数据有:)foriinrange(n):if
④:sum+=a[i]+b[i]+c[i]print(a[i],b[i],c[i])count+=1
print(能组成三角形的共有:,count,组)print(共需要材料长度共是:,sum)||
|||
|||
|||
解析:【喵呜刷题小喵解析】:
1.
首先,我们定义了一个`readfile`函数,用于读取文本文件的内容。在函数中,我们
打开文件,使用`readline`方法逐行读取文件内容,直到文件结束。对于每一行,我
们使用`strip`方法去除行首尾的空白字符,然后使用`split`方法按照空格分割字符串
,将分割后的结果转换为整数列表,并添加到`lines`列表中。最后,我们关闭文件
并返回`lines`列表。
2.
接着,我们定义了一个`triangle`函数,用于判断三个数能否组成三角形。根据三角
形的性质,任意两边之和大于第三边,因此我们可以使用`a+bcanda+cb
andb+ca`来判断三个数能否组成三角形。
3.
然后,我们调用`readfile`函数读取文件内容,将读取到的内容存储到`a`、`b`、`c`
列表中。我们统计了能组成三角形的数量`count`和总长度`sum_length`,并遍历每
一行数据,如果这一行数据能组成三角形,则增加`count`的计数,并将这一行数据
的长度累加到`sum_length`中。
4.最后,我们输出能组成三角形的数量和总长度。
2、37.工资管理
编写简单的工资管理程序,系统中包含工人(worker)和经理(manage),所有员工都
有员工号、姓名、基本工资等属性。
工人:工人具有工作小时数和时薪的属性,工资计算方法为基本工资+
工作小时数*时薪;
经理:具有固定的月薪,计算方法为固定月薪。
根据以上的要求设计类,显示人员的信息和工资情况,运行结果如下:
工号:001,姓名:King,本月工资:10000
King的月薪是:10000
工号:002,姓名:Lily,本月工资:20000
Lily每天的工作时长:10小时
Lily的月薪是:20000
classPerson():
def__init__(self,id,name,salary):
self.id=id
=name
①
def__str__(self):#查看对象,触发执行print语句
msg=工号:{},姓名:{},本月工资:{}.format(self.id,,self.salary)
returnmsg
classWorker(Person):
def__init__(self,id,name,salary,hours,per_hour):
super().__init__(id,name,salary)
self.hours=hours
self.per_hour=per_hour
defgetSalary(self):
原创力文档


文档评论(0)