반응형
시행착오1 : 출력 결과 [] [] [] 으로 출력되면 df 아닌가?
total = 0
with open("data/chicken.txt", "r") as f :
for i in f :
sum_data = (i.strip()).split(":")
print(sum_data)
</> 실행 결과
['1일', ' 453400']
['2일', ' 388600']
['3일', ' 485300']
['4일', ' 477900']
['5일', ' 432100']
['6일', ' 665300']
['7일', ' 592500']
['8일', ' 465200']
놉. 각 라인은 list 타입이다.
시행착오2 : print(sum_data[1]) # 왜 액수만 나오는거지??
total = 0
with open("data/chicken.txt", "r") as f :
for i in f :
sum_data = (i.strip()).split(":")
print(sum_data[1]) # 왜 액수만 나오는거지??
</> 실행 결과
453400
388600
485300
477900
432100
665300
592500
각 라인은 list 타입이므로 액수가 속해있는 열은 인덱스 1이 맞다
시행착오3 : 액수만 있는 sum_data[1]을 출력했더니 한번에 453500이 아닌 왜 한자리씩(4 5 3 4 0 0) 출력되는걸까?
total = 0
num = 0
with open("data/chicken.txt", "r") as f :
for i in f :
sum_data = (i.strip()).split(":")
for sales in sum_data[1] :
print(sales)
내가 푼 정답 : 한자리씩 나누지 않도록 내장함수를 사용하자
total = 0
num = 0
with open("data/chicken.txt", "r") as f :
for i in f :
sum_data = (i.strip()).split(":") # list type
for sales in sum_data[1].split() :
total += int(sales)
num += 1
print(total / num)
모범 답안
with open('data/chicken.txt', 'r') as f:
total_revenue = 0
total_days = 0
for line in f:
data = line.strip().split(": ")
revenue = int(data[1]) # 그날의 매출
total_revenue += revenue
total_days += 1
print(total_revenue / total_days)
반응형
'● 알고리즘, 자료구조 > 2021 알고리즘' 카테고리의 다른 글
★ 영어 단어 맞추기 | with open, input, list, str (0) | 2021.06.01 |
---|---|
파이썬 영어 단어장 만들기 | open, input 위치 (1) | 2021.06.01 |
랜덤 숫자 맞히기 게임 (0) | 2021.06.01 |
알고리즘, datetime 모듈 (0) | 2021.06.01 |
펠린드롬 | 함수, 리스트, 문자열 (0) | 2021.05.31 |