# 빈 리스트 만들기
numbers = []
print(numbers)
# numbers에 값들 추가
list = [1,7,3,6,5,2,13,14]
i = 0
while i < len(list):
numbers.append(list[i])
i += 1
# 코드를 입력하세요
print(numbers)
# numbers에서 홀수 제거
i = 0
while i < len(numbers):
if numbers[i]%2 == 1:
del numbers[i]
else:
i += 1
continue
# numbers를 정렬해서 출력
print(numbers)
# numbers의 인덱스 0 자리에 20이라는 값 삽입
numbers.insert(0, 20)
# 코드를 입력하세요
print(numbers)
# numbers를 정렬해서 출력
numbers.sort()
# 코드를 입력하세요
print(numbers)
모범답안과의 차이점은 나는 코드를 복붙하는게 귀찮아서 반복문을 통해서 .append
하게 되었다. 이게 잘한 짓인지는 모르겠지만 나도 귀차니즘이 좀 있는 거 같다 ㅎㅋㅋㅋ
i = 0
while i < len(numbers):
if numbers[i]%2 == 1:
del numbers[i]
else:
i += 1
continue
그리고 해당 코드를 작성하는 것에 시간이 좀 걸렸는데 셀프디버깅
의 중요성을 깨달았다. 알고리즘의 순서는 다음과 같았다.
i
가 0이고 numbers[i]
는 1
이었다. 그래서 삭제 대상이상이어서 del
을 사용하여 삭제하였다. 그러면 number
는 [7,3,6,5,2,13,14]
가 되는데 이러한 흐름을 생각 못하고 인덱스에 1을 더하였다
. 그래서 7
을 넘어가는 상황이 발생하였다. → 배열의 요소를 조건에 따라 지울 때는 인덱스를 증가시키지 말자가 이번 교훈
# 빈 리스트 만들기
numbers = []
print(numbers)
# numbers에 값들 추가
numbers.append(1)
numbers.append(7)
numbers.append(3)
numbers.append(6)
numbers.append(5)
numbers.append(2)
numbers.append(13)
numbers.append(14)
print(numbers)
# numbers에서 홀수 제거
i = 0
while i < len(numbers):
if numbers[i] % 2 == 1:
del numbers[i]
else:
i += 1
print(numbers)
# numbers의 인덱스 0 자리에 20이라는 값 삽입
numbers.insert(0, 20)
print(numbers)
# numbers를 정렬해서 출력
numbers.sort()
print(numbers)