Q : 다음 중 반복문에 대한 내용으로 옳지 않은 것을 고르세요.
1. 반복문은 코드를 효율적으로 작성하는대 도움이 된다.
2. 반복문을 무한히 실행하는 것은 매우 비효율적이기 때문에 지양해야 한다.
3. 반복문을 실행하기 위해서는 조건부가 필요하다.
4. 반복문으로 사용할 수 있는 용법은 for와 while반복문이 있다.
5. for는 정해진 횟수나 인덱스에 접근할 때, while은 특정 조건을 만족할 때 반복을 멈추는 흐름에서 자주 사용된다.
답 : 2번
Q : 아래의 각 문장을 코드로 바꾼 것 중 옳지 않은 것을 고르세요
total = 1000
진행 신호는 True
진행 신호가 True인 동안
총액에서 100원을 뺀다
만약 총액이 0원 이라면
진행 신호는 False
답 : 5번
Q : 아래 코드에서 'loop running'이 출력되는 횟수를 쓰세요.
counter = 0
while counter < 50:
if (counter % 3 == 0):
print("loop running")
counter = counter + 1
else:
print("loop finished")
답 : 17
<실습문제 1>
while반복문을 이용하여 개구리를 입력 받은 수만큼 세도록 코딩하기.
i = 0
frog = int(input())
while i < frog:
i += 1
print("개구리 %d마리" %(i))
Q : 다음 중 for문에 관한 설명으로 옳지 않은 것을 고르세요
1. for(변수명) in (실행 범위)와 같은 형태를 가진다.
2. 실행 범위 부분에 숫자 대신 리스트 변수를 넣어 사용할 수도 있다.
3. for i in range(0, 10, 1)에서 소괄호 안의 세 번째 자리에 위치한 1은 생략할 수 있다.
4. range()함수에서 범위 내 변화 간격을 생략하면 1로 자동 설정된다.
5. for i in range(10)의 경우 i에 0부터 10까지의 숫자가 입력된다.
답 : 5번
<실습문제 2>
반복문을 이용하여 1부터 입력 받은 자연수 사이 (1 이상 입력값 미만)의 짝수만 골라 그 합을 구하기.
num = int(input())
sum = 0
for i in range(num+1):
if i % 2 == 0:
sum += i
print(sum)
<마무리 과제>
아래와 같은 모양과 같이 화요일부터 시작하고 31일까지 존재하는 달의 달력을 출력하세요. 각 날짜는 1개의 tab을 이용합니다.
(예시)
S M T W T F S
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
start_day = 2 # Tuesday
last_day = 31
print('\tS\tM\tT\tW\tT\tF\tS')
for i in range(start_day):
print('\t', end='')
for i in range(1, last_day + 1):
if ((i + start_day) % 7 != 0):
print('\t%d' %i, end='')
elif ((i + start_day) % 7 == 0):
print('\t%d\n' %i)