728x90
반응형
(문제)
1. while True구문을 사용하여
2로도, 3으로도, 5로도, 7로도 나누어 떨어지지 않는
양(+)의 정수(나머지가 생기는 수)만을 추출하여
이들을 요소로 가지는 newlist라는 리스트객체를 생성하려고 한다.
이 때, newlist 요소의 개수가 1000개가 되면 반복문을 나가려고 한다.
이를 위한 코드를 작성하시오.
힌트: 변수 i는 1루프마다 1씩 증가하고
각 루프마다 i가 2로도, 3으로도, 5로도, 7로도 나누어 떨어지는지 확인하여
만약 떨어지지 않으면 i를 newlist에 추가한다.
만약 newlist 요소의 개수가 1000이 되면 while True구문이 멈추도록 코드를 작성한다.
2. 위의 문제에서 newlist의 마지막 요소를 반환하는 코드와 반환 값을 쓰시오.
1) newlist의 마지막 요소를 반환하는 코드:
2) 반환 값:
(방법)
1)
i = 0 # 양의 정수
newlist = [] # 값을 저장하기 위한 리스트
while len(newlist) < 1000: # while로 반복. 조건을 newlist의 요소가 1000 까지만 반복
i += 1 # i를 1씩 증가
if i%2 != 0 and i%3 != 0 and i%5 != 0 and i%7 != 0: # % 는 나누기의 나머지. 2,3,5,7에 대해 나누기 나머지가 0이 아닌 경우
newlist.append(i) # 리스트에 i 값 추가
while True사용 코드
i = 0 # 양의 정수
newlist = [] # 값을 저장하기 위한 리스트
while True: # while로 반복. 하단의 break 문으로 종료
i += 1 # i를 1씩 증가
if i%2 != 0 and i%3 != 0 and i%5 != 0 and i%7 != 0: # % 는 나누기의 나머지. 2,3,5,7에 대해 나누기 나머지가 0이 아닌 경우
newlist.append(i) # 리스트에 i 값 추가
if len(newlist) == 1000: # newlist의 요소수가 1000 개면 while 반복문 종료
break # while 반복문 종료
rtn = newlist[-1] # 리스트의 마지막 요소값 반환 코드
print(rtn) # 마지막 요소
2-1)
리스트의 요소수가 1000으로 고정되지 않는 등의 안정성을 위해서는 다음과 같은 코드가 좋습니다.
rtn = newlist[-1] # 리스트의 마지막 요소값 반환 코드
또는
newlist[len(newlist)-1] # len(newlist)로 newlist의 요소수 확인. 리스트는 len()-1이 마지막 인덱스
여기서 문제 자체가 1000개의 요소 라고 했기 때문에 다음과 같이 해도 됩니다.
newlist[999] # 리스트는 인덱스가 0부터 시작하기 때문에 요소수가 1000 일때 마지막 인덱스는 999
2-2)
4373
728x90
반응형
'프로그램' 카테고리의 다른 글
[파이썬] 문제 : 냉장고에 명령어(+-x)로 추가,삭제 (0) | 2023.04.04 |
---|---|
[파이썬] 문제 : 공에 숫자와 그림(RED, GREEN,HEART,CLOVER) 게임 (0) | 2023.04.04 |
[파이썬] 문제 : 삼각형으로 숫자 출력 하기 (0) | 2023.04.03 |
[파이썬] 문제 : 10개의 임의의 두 자리 정수와 한 자리 정수로 +,-,* 퀴즈 (0) | 2023.04.03 |
[파이썬] 문제 : 쇼핑몰 Product, ShoppingCart 클래스 (0) | 2023.04.03 |
댓글