반복문 (Loop Statements)
반복문은 특정 코드 블록을 여러 번 실행합니다.
for 문
- 시퀀스(리스트, 튜플, 문자열 등)의 각 항목에 대해 반복합니다.
while 문
- 조건이 참인 동안 코드 블록을 반복 실행합니다.
total
변수는 0으로 초기화됩니다. 이 변수는 입력된 숫자들의 합계를
저장하는 데 사용됩니다.
input()
함수는 사용자로부터 문자열 형태의 입력을 받습니다.
int()
함수는 입력된 문자열을 정수로 변환합니다.number
변수에는 사용자가 입력한 정수가 저장됩니다.
while
반복문은 number
변수가 0이 아닌 동안
반복됩니다.
number
값을 total
변수에 더합니다.number
변수에 저장합니다.
total
에 더합니다.
-
print()
함수는f-string
을 사용하여 최종 합계를 출력합니다. -
total
변수에 저장된 값(즉, 입력된 숫자들의 합계)을 출력합니다.
예시 실행 과정
- 프로그램이 시작되면,
total
은 0으로 초기화됩니다. - 사용자가 숫자를 입력합니다.
-
사용자가 입력한 숫자가 0이 아니면, 해당 숫자가
total
에 더해집니다. - 사용자가 0을 입력할 때까지 위 과정이 반복됩니다.
- 사용자가 0을 입력하면 반복문이 종료되고, 최종 합계가 출력됩니다.
예시 입력과 출력
- 입력: 5, 10, -3, 0
- 출력:
입력된 숫자들의 합계는 12입니다.
요약
이 코드는 다음과 같은 작업을 수행합니다:
- 사용자로부터 숫자를 입력받습니다.
-
입력된 숫자가 0이 아니면, 그 숫자를
total
변수에 더합니다. - 사용자가 0을 입력할 때까지 위 과정을 반복합니다.
- 최종적으로 입력된 숫자들의 합계를 출력합니다.
이 코드는 while
문과 사용자 입력을 결합하여 조건에 따라 반복
작업을 수행하는 방법을 보여줍니다.
연습문제 2: 비밀번호 맞추기 게임
문제: 사용자가 올바른 비밀번호를 입력할 때까지 반복해서
비밀번호를 입력받는 프로그램을 작성하세요. 올바른 비밀번호는
python123
으로 설정합니다.
"python123"
으로
설정되어 있습니다. 각 부분을 단계별로 설명해 드리겠습니다.
correct_password
변수에 올바른 비밀번호인
"python123"
을 저장합니다.
input()
함수는 사용자로부터 문자열 형태의 입력을 받습니다.
password
변수에 저장됩니다.while
반복문은 password
변수가
correct_password
변수와 같지 않은 동안 반복됩니다.
print()
함수는 "비밀번호가 틀렸습니다. 다시 시도하세요."라는
메시지를 출력합니다.
password
변수에
저장합니다.
-
사용자가 올바른 비밀번호를 입력하면
while
반복문이 종료되고, "비밀번호가 맞습니다. 로그인 성공!"이라는 메시지를 출력합니다.
예시 실행 과정
-
프로그램이 시작되면,
correct_password
는"python123"
으로 설정됩니다. - 사용자가 비밀번호를 입력합니다.
- 사용자가 입력한 비밀번호가 올바른 비밀번호와 일치하지 않으면, "비밀번호가 틀렸습니다. 다시 시도하세요." 메시지가 출력되고 다시 비밀번호를 입력받습니다.
- 사용자가 올바른 비밀번호를 입력할 때까지 이 과정이 반복됩니다.
- 사용자가 올바른 비밀번호를 입력하면 반복문이 종료되고, "비밀번호가 맞습니다. 로그인 성공!" 메시지가 출력됩니다.
예시 입력과 출력
-
입력:
wrongpass
,password123
,python123
- 출력
요약
이 코드는 다음과 같은 작업을 수행합니다:
- 사용자로부터 비밀번호를 입력받습니다.
- 입력된 비밀번호가 올바른 비밀번호와 일치하지 않으면, 다시 입력을 요구합니다.
- 사용자가 올바른 비밀번호를 입력할 때까지 이 과정을 반복합니다.
- 올바른 비밀번호가 입력되면 로그인 성공 메시지를 출력합니다.
이 코드는 while
문과 조건문을 결합하여 사용자 입력을 처리하고,
올바른 입력을 받을 때까지 반복 작업을 수행하는 방법을 보여줍니다.
연습문제 3: 1부터 10까지 출력
문제: while
문을 사용하여 1부터 10까지의
숫자를 출력하는 프로그램을 작성하세요.
while
문을 사용하여 1부터 10까지의 숫자를 출력하는
간단한 프로그램입니다. 각 부분을 단계별로 설명해 드리겠습니다.
i
변수를 1로 초기화합니다. 이 변수는 반복문 내에서 사용되는 루프
카운터입니다.
while
반복문은 i
변수가 10보다 작거나 같은 동안
반복됩니다.
i
가 1에서 10까지의 값일 때 반복문이 계속 실행됩니다.print()
함수는 현재 i
값을 출력합니다.i
의 현재 값이 출력됩니다.i
변수의 값을 1 증가시킵니다.- 이는
i = i + 1
과 동일한 표현입니다. -
반복문이 한 번 실행될 때마다
i
값이 1씩 증가하여 다음 반복으로 넘어갑니다.
실행 과정
- 프로그램이 시작되면
i
는 1로 초기화됩니다. -
while
조건문이i <= 10
을 검사합니다.- 초기에는
i
가 1이므로 조건은 참입니다.
- 초기에는
print(i)
가 실행되어1
이 출력됩니다.i += 1
이 실행되어i
가 2가 됩니다.-
반복문이 다시 실행됩니다.
-
while
조건문이i <= 10
을 검사합니다. i
가 2이므로 조건은 여전히 참입니다.
-
print(i)
가 실행되어2
가 출력됩니다.i += 1
이 실행되어i
가 3이 됩니다.- 이 과정이
i
가 11이 될 때까지 반복됩니다. -
i
가 11이 되면while
조건문이 거짓이 되어 반복문이 종료됩니다.
요약
이 코드는 다음과 같은 작업을 수행합니다:
i
변수를 1로 초기화합니다.i
가 10 이하인 동안 반복문을 실행합니다.-
반복문 내에서 현재
i
값을 출력하고,i
를 1씩 증가시킵니다. i
가 11이 되면 반복문이 종료됩니다.
이 코드는 while
문을 사용하여 루프 카운터를 증가시키면서 반복
작업을 수행하는 기본적인 방법을 보여줍니다.
연습문제 4: 짝수 찾기
문제: 사용자가 0을 입력할 때까지 정수를 입력받아, 짝수만 출력하는 프로그램을 작성하세요.
input()
함수는 사용자로부터 문자열 형태의 입력을 받습니다.
int()
함수는 입력된 문자열을 정수로 변환합니다.number
변수에 저장됩니다.while
반복문은 number
변수가 0이 아닌 동안
반복됩니다.
if
조건문은 number
변수를 2로 나눈 나머지가 0인지
확인합니다.
number
는 짝수입니다.print()
함수는 현재 number
값을 출력합니다.f-string
을 사용하여 "number는 짝수입니다."
라는
문자열을 출력합니다.
number
변수에 저장합니다.
실행 과정
- 프로그램이 시작되면, 사용자에게 정수를 입력하라는 메시지가 출력됩니다.
-
사용자가 정수를 입력하고, 그 정수가
number
변수에 저장됩니다. -
while
조건문이number
가 0이 아닌지 확인합니다. -
만약
number
가 0이 아니면, 다음 과정을 수행합니다:-
if
조건문이number
가 짝수인지 확인합니다. -
만약
number
가 짝수이면, 해당 숫자가 짝수임을 출력합니다. - 사용자에게 다시 정수를 입력하라는 메시지가 출력됩니다.
-
-
사용자가 0을 입력하면
while
조건문이 거짓이 되어 반복문이 종료됩니다.
요약
이 코드는 다음과 같은 작업을 수행합니다:
- 사용자로부터 정수를 입력받습니다.
- 입력된 정수가 0이 아닌 동안 반복문이 계속 실행됩니다.
- 입력된 정수가 짝수이면, 해당 숫자가 짝수임을 출력합니다.
- 사용자에게 다시 정수를 입력받아 반복문을 계속합니다.
- 사용자가 0을 입력하면 프로그램이 종료됩니다.
이 코드는 while
문과 if
문을 사용하여 사용자
입력을 처리하고 조건에 따라 특정 작업을 수행하는 방법을 보여줍니다.
연습문제 5: 숫자 맞추기 게임
문제: 1부터 100까지의 숫자 중 임의의 숫자를 맞추는 게임을 작성하세요. 사용자가 숫자를 맞출 때까지 계속 입력받으며, 입력된 숫자가 더 큰지 작은지를 알려주세요.
random
모듈을 임포트합니다. random
모듈은 임의의
숫자를 생성하는 데 사용됩니다.
random.randint(1, 100)
함수는 1부터 100 사이의 임의의 정수를
생성합니다.
target
변수에 저장됩니다. 이 숫자가 사용자가
맞춰야 할 목표 숫자입니다.
int()
함수로 정수로 변환하여
guess
변수에 저장됩니다.
while
반복문은 사용자가 입력한 guess
값이
target
값과 다를 때 계속 실행됩니다.
if
조건문은 사용자가 입력한 guess
값이
target
값보다 작은지 확인합니다.
guess
가 target
보다 작으면 "더 큰 숫자입니다."를
출력합니다.
guess
변수에 저장합니다.
while
반복문이 종료된 후, 사용자가 target
값을
맞추면 축하 메시지를 출력합니다.
실행 과정
-
프로그램이 시작되면
random.randint(1, 100)
을 통해 1부터 100 사이의 임의의 숫자가 생성되어target
변수에 저장됩니다. -
사용자에게 1부터 100 사이의 숫자를 입력하라는 메시지가 출력되고, 입력된
숫자가
guess
변수에 저장됩니다. -
while
반복문이 실행되어guess
값이target
값과 다른 동안 반복됩니다. -
if
조건문이guess
값이target
값보다 작은지 확인하고, 그에 따라 "더 큰 숫자입니다." 또는 "더 작은 숫자입니다." 메시지를 출력합니다. -
사용자가 다시 숫자를 입력하고, 새로운
guess
값이target
값과 같을 때까지 반복합니다. -
사용자가
target
값을 맞추면 반복문이 종료되고 "축하합니다! 숫자를 맞췄습니다." 메시지가 출력됩니다.
예시 실행 과정
입력 및 출력:
요약
이 코드는 다음과 같은 작업을 수행합니다:
- 1부터 100 사이의 임의의 숫자를 생성합니다.
- 사용자가 숫자를 맞출 때까지 반복적으로 추측을 입력받습니다.
- 사용자가 입력한 숫자가 목표 숫자보다 큰지 작은지를 알려줍니다.
- 사용자가 숫자를 맞추면 프로그램을 종료하고 축하 메시지를 출력합니다.
이 코드는 while
문과 if-else
조건문을 사용하여
사용자 입력을 처리하고 반복적인 작업을 수행하는 방법을 보여줍니다.
연습문제 6: 사용자 이름 반복 출력
문제: 사용자가 이름을 입력하면, 그 이름을 사용자가 원하는 횟수만큼 출력하는 프로그램을 작성하세요. 사용자가 0을 입력하면 프로그램을 종료합니다.
name
변수에 저장합니다.count
변수에
저장합니다.
input()
함수는 문자열을 반환하므로 int()
함수를
사용하여 정수로 변환합니다.
while
반복문은 count
변수가 0이 아닌 동안 계속
실행됩니다.
while
반복문은 i
변수가
count
보다 작은 동안 계속 실행됩니다.
print(name)
명령어는 name
변수를 출력합니다.
i += 1
는 i
변수를 1씩 증가시킵니다. 이를 통해
이름을 count
횟수만큼 출력하게 됩니다.
while
반복문이 종료되면, 다시 사용자로부터 출력할 횟수를
입력받아 count
변수에 저장합니다.
while
반복문이 종료됩니다.실행 과정
- 프로그램이 시작되면 사용자에게 이름을 입력하라는 메시지가 출력됩니다.
- 사용자가 이름을 입력하면, 출력할 횟수를 입력하라는 메시지가 출력됩니다.
- 사용자가 출력할 횟수를 입력하면, 그 횟수만큼 이름을 출력합니다.
- 이름을 출력한 후, 다시 출력할 횟수를 입력하라는 메시지가 출력됩니다.
- 사용자가 0을 입력하면 프로그램이 종료됩니다.
예시 실행 과정
입력 및 출력:
요약
이 코드는 다음과 같은 작업을 수행합니다:
- 사용자로부터 이름과 출력할 횟수를 입력받습니다.
- 입력된 횟수만큼 이름을 출력합니다.
- 사용자가 0을 입력할 때까지 계속해서 출력할 횟수를 입력받고 이름을 출력합니다.
이 코드는 while
문과 중첩 while
문을 사용하여
반복적인 작업을 수행하는 방법을 보여줍니다. while
문을 통해
사용자가 원하는 만큼 이름을 출력하고, 원하는 때에 프로그램을 종료할 수
있습니다.