import csv
f = open('weather0106.csv', encoding='cp949')
data = csv.reader(f, delimiter=',')
header = next(data) # 첫줄 날짜,지점,최고... 띄워넘으려면 넣어야됨
birth_list = [] #생일 리스트
max_temp = 0 #최고기온 값
min_temp = 0 #최저기온 값
max_range = 0 #최고 일교차 값
temp_range = 0 #일교차 값
daily_range = [] #생일날들의 일교차를 요소로 가진 리스트
birth_dailyrange = {} #{생일 : 일교차} 딕셔너리
for row in data :
if '-01-06' in row[0] :
birth_list.append(row[0]) #생일 리스트 생성
max_temp = float(row[-1])
min_temp = float(row[-2])
temp_range = max_temp - min_temp
daily_range.append(round(temp_range,2)) ##생일날들의 일교차를 요소로 가진 리스트 생성(소수 2번째자리 rounding)
print("제 생년월일은 %s 입니다" %birth_list[0])
for i in range(len(birth_list)) :
print("%s의 일교차는 %.2f입니다." %(birth_list[i], daily_range[i]))
birth_dailyrange = {x : y for x, y in zip(birth_list, daily_range)} #{생일 : 일교차} 딕셔너리 생성
for i in range(len(daily_range)) : #최고 일교차 값 구하기
if daily_range[i] > temp_range :
temp_range = daily_range[i]
print("제 생일 중 가장 일교차가 큰 날은 %s이고, 일교차는 %.2f 입니다." %([k for k, v in birth_dailyrange.items() if v == temp_range], temp_range))
f.close()
제 생년월일은 1991-01-06 입니다 1991-01-06의 일교차는 10.60입니다. 1992-01-06의 일교차는 5.50입니다. 1993-01-06의 일교차는 5.40입니다. 1994-01-06의 일교차는 11.90입니다. 1995-01-06의 일교차는 7.80입니다. 1996-01-06의 일교차는 7.70입니다. 1997-01-06의 일교차는 6.30입니다. 1998-01-06의 일교차는 7.20입니다. 1999-01-06의 일교차는 9.10입니다. 2000-01-06의 일교차는 8.40입니다. 2001-01-06의 일교차는 10.50입니다. 2002-01-06의 일교차는 13.50입니다. 2003-01-06의 일교차는 10.90입니다. 2004-01-06의 일교차는 11.90입니다. 2005-01-06의 일교차는 7.50입니다. 2006-01-06의 일교차는 5.20입니다. 2007-01-06의 일교차는 7.00입니다. 2008-01-06의 일교차는 12.70입니다. 2009-01-06의 일교차는 11.30입니다. 2010-01-06의 일교차는 7.70입니다. 2011-01-06의 일교차는 6.20입니다. 2012-01-06의 일교차는 8.70입니다. 2013-01-06의 일교차는 8.10입니다. 2014-01-06의 일교차는 10.50입니다. 2015-01-06의 일교차는 8.40입니다. 2016-01-06의 일교차는 6.60입니다. 2017-01-06의 일교차는 7.70입니다. 2018-01-06의 일교차는 9.90입니다. 2019-01-06의 일교차는 12.30입니다. 2020-01-06의 일교차는 4.40입니다. 제 생일 중 가장 일교차가 큰 날은 ['2002-01-06']이고, 일교차는 13.50 입니다.
[] 어떻게 없애는지 모를 /../..
변수=[k for k, v in birth_dailyrange.items() if v == temp_range]
에 두고 해도 [] 없애면 에러뜸 ... {}로 바꾸면 {'2002-01-06'}로 뜨고 .. ()로 바꾸면 안됨 ..
'python > python 수업' 카테고리의 다른 글
fairytale slicing (0) | 2020.09.08 |
---|---|
데이터시각화 matplot weather0106 (0) | 2020.09.08 |
weather - colab 최고온도 (0) | 2020.08.18 |
p165 예제 lambda로 (0) | 2020.08.17 |
p167 lambda (0) | 2020.08.17 |