Unit 18
18.5 연습 문제 ▶ 다음 소스 코드를 완성하여 0과 73 사이의 숫자 중 3으로 끝나는 숫자만 출력되게 만드세요.
# 결과 : 3 13 23 33 43 53 63 73
# i = 0
# while True:
# _______
# _______
# print(i, end=' ')
# i += 1
# 정답
i = 0
while True:
if i % 10 != 3:
i += 1
continue
if i > 73:
break
print(i, end=' ')
i += 1
while에 True를 지정하여 무한 루프를 만들고, i를 1씩 증가시킵니다.
continue는 제어흐름(반복)을 유지한 상태에서 코드의 실행만 건너뛰는 역할을 하지만
break는 제어흐름을 중단하고 빠져나옵니다.
3, 13, 23 33 ... 3으로 끝나는 숫자가 모두 10단위이므로 i를 10으로 나누었을 때
나머지가 3일 경우에만 출력이 되도록 합니다.
나머지 숫자는 출력이 되지 않도록 continue로 코드를 건너 뛰어야 합니다.
i가 73보다 클 때 break로 루프를 중단해줍니다.
18.6 실습 문제 ▶ 표준 입력으로 정수 두 개가 입력됩니다
(첫 번째 입력 값의 범위는 1~200, 두 번째 입력 값의 범위는 10~200이며
첫 번째 입력 값은 두 번째 입력 값보다 항상 작습니다).
다음 소스 코드를 완성하여 첫 번째 정수와 두 번째 정수 사이의 숫자 중 3으로 끝나지 않는 숫자가 출력되게 만드세요.
# 입력 : 1 20
# 결과 : 1 2 4 5 6 7 8 9 10 11 12 14 15 16 17 18 19 20
# start, stop = map(int, input().split())
# i = start
# while True:
# _____________________
# print(i, end=' ')
# i += 1
# 정답
start, stop = map(int, input().split())
i = start
while True:
if i % 10 == 3:
i += 1
continue
if i > stop:
break
print(i, end=' ')
i += 1
3으로 끝나지 않는 숫자가 출력해야하므로 i를 10으로 나누었을 때
나머지가 3일 경우에만 코드의 실행을 건너뛰도록 합니다.
stop의 값까지 출력하려면 i가 stop과 같을 때는 그냥 넘어가고 루프를 한 번 더 실행하여
i가 stop보다 클 때 루프가 중단되도록 합니다.
참조 : https://dojang.io/course/view.php?id=7
'python' 카테고리의 다른 글
Unit 20 문제 풀이 (0) | 2022.01.15 |
---|---|
Unit 19 문제 풀이 (0) | 2022.01.15 |
Unit 17 문제 풀이 (0) | 2022.01.15 |
Unit 16 문제 풀이 (0) | 2022.01.15 |
Unit 15 문제 풀이 (0) | 2022.01.15 |