사용자가 연도 숫자를 입력하고 해당 목록에서 평균, 최소 및 최대 기대 수명을 가져 오는 방법

아오이

따라서 할당을 위해 사용자가 1 년을 입력 할 수 있도록 허용해야하며 파이썬은 전체 .csv 파일 (사람들이 조금 더 잘 도울 수있는 경우 링크 할 것입니다)을 통해 모든 파일을 찾습니다. 국가의 기대 수명은 그해의 평균, 최소 및 최대를 모두 더하여 표시합니다. 나는 내 컴퓨터에서 다른 일들을 시도해 왔지만 내 인생을 위해 이것을하는 방법을 알 수 없으며 생각조차하기 위해 머리가 아프다. 누군가 도움을 줄 수 있다면 매우 감사하겠습니다. 아래는 내가 지금까지 가지고있는 코드입니다.

filename = 'Life_expectancy.csv'
rows = []
with open(filename) as le_file: 
    next(le_file) 
    for line in le_file: 
 
        line = line.strip().split(",") 
        rows.append(line)

ages = [row[3] for row in rows]
min_age_idx = ages.index(min(ages))
max_age_idx = ages.index(max(ages))


details = rows[min_age_idx]
detailsElectricBoogaloo = rows[max_age_idx]
print('Name: {}, Code: {}, Year: {}, Life Expectancy: {}'.format(details[0], details[1], details[2], details[3]))
print('Name: {}, Code: {}, Year: {}, Life Expectancy:{}'.format(detailsElectricBoogaloo[0], detailsElectricBoogaloo[1], detailsElectricBoogaloo[2], detailsElectricBoogaloo[3]))

또한 파일을 연결할 수 없으므로 csv 데이터의 일부를 복사하여 붙여 넣습니다.

Entity,Code,Year,Life expectancy (years)
Afghanistan,AFG,1950,27.638
Afghanistan,AFG,1951,27.878
Afghanistan,AFG,1952,28.361
Afghanistan,AFG,1953,28.852
Afghanistan,AFG,1954,29.35
Afghanistan,AFG,1955,29.854
Albania,ALB,1950,54.191
Albania,ALB,1951,54.399
Albania,ALB,1952,54.875
Albania,ALB,1953,55.468
Albania,ALB,1954,56.18
Albania,ALB,1955,57.007
Algeria,DZA,1950,42.087
Algeria,DZA,1951,42.282
Algeria,DZA,1952,42.677
Algeria,DZA,1953,43.081
Algeria,DZA,1954,43.494
Algeria,DZA,1955,43.916

이 목록은이 데이터가 공개 된 전 세계 모든 국가에 대해 이와 같이 진행되며 1950 년에서 2019 년 사이에 해당되며 일부는 1923 년에서 2019 년과 그 기간에 해당됩니다. 어떻게 시작해야할지 생각조차 할 수 없습니다.

안드레이 케 슬리

내장 모듈을 사용할 수 있으며 statistics기능이 mean있습니다. 최소, 최대를 찾기 위해 min()/max()함수 를 사용할 수 있습니다 .

예를 들면 :

import csv
from statistics import mean

data = []
with open('data.csv', 'r', newline='') as f_in:
    csv_reader = csv.reader(f_in, delimiter=',', quotechar='"')
    next(csv_reader)  # skip headers
    for row in csv_reader:
        data.append(row)

year = input('Please enter the year: ')

average = mean(float(d[3]) for d in data if d[2] == year)
min_ = min((d for d in data if d[2] == year), key=lambda k: float(k[3]))
max_ = max((d for d in data if d[2] == year), key=lambda k: float(k[3]))

print('Statistics for year:', year)
print('-' * 80)
print('Average {:.2f}'.format(average))
print('Min :', min_)
print('Max :', max_)

인쇄 (예 :) :

Please enter the year: 1951
Statistics for year: 1951
--------------------------------------------------------------------------------
Average 41.52
Min : ['Afghanistan', 'AFG', '1951', '27.878']
Max : ['Albania', 'ALB', '1951', '54.399']

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관