<로직 고민>
# for문으로 배열 인덱스 하나하나에 접근 후 *2 해주기
- 흠....간단해 보이는걸....?
<중간 과정>
def solution(numbers):
answer = []
for i in range(len(numbers)):
answer = numbers[i] * 2
# for문으로 배열 인덱스 하나하나에 접근 후 *2 해주기
return answer
a = [1, 2, 3, 4, 5]
b = [1, 2, 100, -99, 1, 2, 3]
print(solution(a))
print(solution(b))
# 출력화면
# 10
# 6
- 뭔가 이상하다....
answer[i] = numbers[i] * 2
# 출력화면
# answer[i] = numbers[i] * 2
# ~~~~~~^^^
# IndexError: list assignment index out of range
- answer 뒤에 [i]를 붙여줬더니 더 이상해져 간다.....
answer = i * 2
# 출력화면
# 8
# 12
- 에러는 잡았지만 원하는 값이 아니야.....
for i in numbers:
answer = i * 2
# 출력화면
# 10
# 6
- for문의 돌려지는 값(?)을 수정했따 익숙한 출력화면이군...
- 일단 숫자가 하나씩만 출력되는 게 문제인데.....값이 쌓여야 하는데 바뀌기만 해서 마지막 값만 나오는 것 같다
- 흠...리스트에 원소 추가......는 append() 메서드인데!!!!!!!!!!!!!!!!
- 후 수정했더니 드디어 완성!!!본은 아래에 있다
<완성한 코드>
def solution(numbers):
answer = []
for i in numbers:
answer.append(i * 2)
return answer
a = [1, 2, 3, 4, 5]
b = [1, 2, 100, -99, 1, 2, 3]
print(solution(a))
print(solution(b))
# 출력화면
# [2, 4, 6, 8, 10]
# [2, 4, 200, -198, 2, 4, 6]