首页 > 解决方案 > 从 txt 文件中获取平均值的问题

问题描述

所以我是python的新手,对于我的班级,我们需要从一个字段中获取信息,并且在某些时候,我们需要得到一个平均值,我的问题是当我尝试做平均值时我做什么并不重要只是没有提取正确的信息,例如没有添加所需的行。这是我的代码:

year_of_interest = int(input("Enter the year of interest: "))
with open("life-expectancy.csv") as life_exp_data:
    next(life_exp_data)
    min_life_exp = 9999.999
    min_life_exp_entity = ""
    min_life_exp_year = ""
    max_life_exp = 0.000
    min_life_exp_entity = ""
    min_life_exp_year = ""
    min_year_life_exp = 9999.999
    min_year_life_exp_entity = ""
    max_year_life_exp = 0.000
    max_year_life_exp_entity = ""
    for cell in life_exp_data:
        cell = cell.strip()
        cell_data = cell.split(",") 
        entity = cell_data[0]
        code = cell_data[1]
        year = int(cell_data[2])
        life_exp = float(cell_data[3])
        if life_exp < min_life_exp:
            min_life_exp = life_exp
            min_life_exp_entity = entity
            min_life_exp_year = year
        if life_exp > max_life_exp:
            max_life_exp = life_exp
            max_life_exp_entity = entity
            max_life_exp_year = year
        if year == year_of_interest:
            life_exp2 = [float(cell_data[3])]
            ele = -1
            life_sum = sum(life_exp2)
            life_exp_count = len(cell_data[3])
            #for ele in life_exp2:
               #life_sum += float(ele)
            average = life_sum / life_exp_count
            if life_exp < min_year_life_exp:
                min_year_life_exp = life_exp
                min_year_life_exp_entity = entity
            if life_exp > max_year_life_exp:
                max_year_life_exp = life_exp
                max_year_life_exp_entity = entity 
print()
print(f"The overall max life expectancy is: {max_life_exp} from {max_life_exp_entity} in {max_life_exp_year}")
print(f"The overall min life expectancy is: {min_life_exp} from {min_life_exp_entity} in {min_life_exp_year}")
print()
print(f"For the year {year_of_interest}:")
print()
print(f"The average life expectancy across all countries was {average:.2f}")
print(f"The max life expectancy was in {max_year_life_exp_entity} with {max_year_life_exp}")
print(f"The min life expectancy was in {min_year_life_exp_entity} with {min_year_life_exp}")
print()

标签: python-3.xfileaverage

解决方案


推荐阅读