728x90
반응형
문제
리스트에는 6일 간의 종가 데이터가 저장되어 있다. 종가 데이터의 3일 이동 평균을 계산하고 이를 화면에 출력하라.
my_list = [100, 200, 400, 800, 1000, 1300]
첫 번째 줄에는 100, 200, 400의 평균값이 출력된다. 두 번째 줄에는 200, 400, 800의 평균값이 출력된다. 같은 방식으로 나머지 데이터의 평균을 출력한다.
233.33333333333334
466.6666666666667
733.3333333333334
1033.3333333333333
내풀이
my_list = [100, 200, 400, 800, 1000, 1300]
# print(sum(my_list[0:3])/3)
# print(sum(my_list[1:4])/3)
# print(sum(my_list[2:5])/3)
# print(sum(my_list[3:6])/3)
for i in range(4):
print((my_list[i] + my_list[i+1] + my_list[i+2])/3)
결과값
233.33333333333334
466.6666666666667
733.3333333333334
1033.3333333333333
정답
print 함수와 인덱싱만으로 결과를 표현해봅니다.
print(abs(my_list[0] + my_list[1] + my_list[2])/3)
print(abs(my_list[1] + my_list[2] + my_list[3])/3)
print(abs(my_list[2] + my_list[3] + my_list[4])/3)
print(abs(my_list[3] + my_list[4] + my_list[5])/3)
인덱스 간의 관계를 파악했다면 기준으로 사용할 인덱스를 결정합니다. 이번에는 가운데에 있는 인덱스를 활용해서 for문을 작성해 보겠습니다.
for i in [1, 2, 3, 4]:
print(abs(my_list[i-1] + my_list[i] + my_list[i+1]) / 3)
다음으로 코드를 다듬어 줍니다.
for i in range(1, len(my_list) - 1):
print(abs(my_list[i-1] + my_list[i] + my_list[i+1]) / 3)
인덱스로만 표현하려다가 문제가 바란건 for문을 활용한거 같아서 다시 풀었다...ㅋㅋ
728x90
반응형
'Coding > 초보자를 위한 파이썬 300제' 카테고리의 다른 글
초보자를 위한 파이썬 300제 // 181 2차원 list (0) | 2021.02.11 |
---|---|
초보자를 위한 파이썬 300제 // 180 list에 넣기 (0) | 2021.02.08 |
초보자를 위한 파이썬 300제 // 178 abs() (0) | 2021.02.07 |
초보자를 위한 파이썬 300제 // 177 index (0) | 2021.02.07 |
초보자를 위한 파이썬 300제 // 176 index (0) | 2021.02.07 |
댓글