首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在文本文件中查找数据集的最大值和最小值;有趣的难题

在文本文件中查找数据集的最大值和最小值;有趣的难题
EN

Stack Overflow用户
提问于 2018-04-28 07:25:07
回答 1查看 77关注 0票数 0

在数据集中,我需要打印整数大小为100的最小数字。然而,我一直在尝试min(),但这并不有效。问题的全部内容是,

“编写一个Python程序,读取碳排放物的碳排放数据,并执行以下三种计算,每一种计算综合了排放超过1亿吨碳的所有年份的数据:

  • 这些年的最低二氧化碳排放量
  • 这些年的最大二氧化碳排放量
  • 这几年的二氧化碳排放总量

你的程序应该输出百万吨二氧化碳的数值,而不是碳。一吨碳相当于3.67吨二氧化碳,因此你可以乘以3.67进行转化。您可以在聚合之前或之后将二氧化碳转换为二氧化碳。“

到目前为止我所做的是:

代码语言:javascript
运行
复制
for value in open("carbon-emissions.txt"): 
  value_float = float(value)
  if int(value_float) > 100:
    print(value_float)

其中,它将整个数据集转换为浮点数,然后尝试查找大于100的数字,但是这会打印超过100的所有数据。

我想,在我给出最大值、最小值和超过100的所有值之和之后。一旦我这样做,我会打印:

代码语言:javascript
运行
复制
print("Minimum Co2 emissions:" + int(min_value)*3.67)
print("Maximum Co2 emissions:" + int(max_value)*3.67)
print("Total Co2 emissions:" + int(sum_value)*3.67)

该方案应以下列形式提出:

代码语言:javascript
运行
复制
Minimum Co2 emissions: 381.68
Maximum Co2 emissions: 36167.85
Total Co2 emissions: 1467460.51

编辑: max的代码如下:

代码语言:javascript
运行
复制
max_sofar = 0
for value in open("carbon-emissions.txt"):
    value_float = float(value)
    max_sofar = max(max_sofar, value_float)

print("Maximum Co2 emissions:", max_sofar*3.67)

然而,我似乎找不到最低限度。我需要使它大于100,但我需要找到这些数字的最小值。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-04-28 07:45:37

您应该将所有值都放到一个列表中,然后在列表上运行minmaxsum

代码语言:javascript
运行
复制
values = []
with open('carbon-emissions.txt') as f:
   for line in f:
      if line.strip(): # skips empty lines
          value = float(line)
          if value > 100:
               values.append(value * 3.67)

print('The minimum value is: {0:.2f}'.format(min(values)))
print('The maximum value is: {0:.2f}'.format(max(values)))
print('The total is: {0:.2f}'.format(sum(values)))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50074012

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档