Assignment
Input으로 주어진 리스트에서 홀수는 전부 지우고 짝수만 남은 리스트를 리턴해주세요.
리스트의 요소들은 전부 숫자값이고 총 요소 수는 5개 입니다.
예를 들어, 다음과 같은 list가 input으로 주어졌다면:
[1, 2, 3, 4, 5]
다음과 같은 결과물이 리턴되어야 합니다.
[2, 4]
#이미 주어진 리스트에서 append가 의미가 있는가? no
지우다 > del 를 이용
#짝수를 나타내는법> 해당요소에 2를 나눴을떄 나머지가 없다.
리스트이름[index]%2 != 0
리스트에서 앞과 뒤 먼저 제거하는 것에 차이가 있는가?
1. 앞에서 먼저 제거했을때의 코드
if num[0]%2!=0:
del num[0]
if num[1]%2!=0:
del num[1]
if num[2]%2!=0:
del num[0]
if num[3]%2!=0:
del num[0]
if num[4]%2!=0:
del num[0]
return num
Traceback (most recent call last): (이건 실수로 numbers을 num으로 했을때 의 오류)
File "/home/runner/unit_tests.py", line 22, in test_remove_odd_numbers
self.assertEquals(remove_odd_numbers([2,4,6,8,10]), [2,4,6,8,10])
File "/home/runner/unit_tests.py", line 6, in remove_odd_numbers
if num[0]%2!=0:
NameError: name 'num' is not defined.
( 오류)
Traceback (most recent call last):
File "/home/runner/unit_tests.py", line 23, in test_remove_odd_numbers
self.assertEquals(remove_odd_numbers([1,4,6,8,5]), [4,6,8])
File "/home/runner/unit_tests.py", line 14, in remove_odd_numbers
if numbers[4]%2!=0:
IndexError: list index out of range
if numbers[4]%2!=0:
del numbers[4]
if numbers[3]%2!=0:
del numbers[3]
if numbers[2]%2!=0:
del numbers[2]
if numbers[1]%2!=0:
del numbers[1]
if numbers[0]%2!=0:
del numbers[0]
return numbers
1 4 6 8 5
[0] 4,6,8,5
[1] 4,6,8,5
[2] 4,6,8,5
[3] 4,6,8
[4] index위치에 객체 없음
1 4 6 8 5
[4] 1,4,6,8
[3] 1,4,6,8
[2] 1,4,6,8
[1] 1,4,6,8,
[0] 4,6,8,
라고 이해했다. 만약에 틀리면 향후 수정해야겠다.
나중에 for문으로 다시 풀어 볼것.
옛날 글 귀엽네