刷题刷出新高度,偷偷领先!偷偷领先!偷偷领先! 关注我们,悄悄成为最优秀的自己!

简答题

36.钢筋问题
统计三角形数量及钢筋总长度。某工程需要很多由钢筋组成的三角形,在文本文件“data.txt”中每一行的三个数字分别表示三根钢筋的长度(整数,单位:厘米,数字间用空格隔开),若这三根钢筋能组成三角形,要求统计并输出三角形数量以及这些钢筋材料的总长度(若不能组成三角形则不对这些数据进行统计),文本文件数据如图a所示,程序运行界面如图b所示。
| 完成该任务的思路是:首先从文本文件“data.txt”读取文本内容到变量line,提取边长数据后,统计数据并输出结果。相关代码如下,请补全代码:def readfile(filename): f = open(filename,encoding = "utf-8") m=[]; n=[]; k=[] line = f.readline() while line: x=line.strip().split(" ") m.append(int(x[0])) n.append(int(x[1])) k.append(int(x[2])) ① f.close() return m,n,k def triangle(x,y,z): # 判断数据x、y、z能否组成三角形 flag=False if ② : flag=True return flag a,b,c=readfile("/data/ ③ ") #读入文件n=len(a);count=0;sum=0print("能组成三角形的数据有:")for i in range(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 + b > c and a + c > b and b + c > a`来判断三个数能否组成三角形。

3. 然后,我们调用`readfile`函数读取文件内容,将读取到的内容存储到`a`、`b`、`c`列表中。我们统计了能组成三角形的数量`count`和总长度`sum_length`,并遍历每一行数据,如果这一行数据能组成三角形,则增加`count`的计数,并将这一行数据的长度累加到`sum_length`中。

4. 最后,我们输出能组成三角形的数量和总长度。
创作类型:
原创

本文链接:36.钢筋问题统计三角形数量及钢筋总长度。某工程需要很多由钢筋组成的三角形,在文本文件“data.t

版权声明:本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章出处。

让学习像火箭一样快速,微信扫码,获取考试解析、体验刷题服务,开启你的学习加速器!

分享考题
share