프로그래밍에서 제어문은 코드의 흐름을 제어하는 데 사용됩니다. 제어문을 사용하면 조건에 따라 코드의 실행을 분기하거나, 반복해서 실행할 수 있습니다. 주요 제어문에는 조건문과 반복문이 있습니다.
조건문 (Conditional Statements)
조건문은 주어진 조건에 따라 코드 블록을 실행하거나 실행하지 않도록 제어합니다.
1) if 문
- 조건이 참일 때 코드 블록을 실행합니다.
2) if-else 문
- 조건이 참이면 첫 번째 코드 블록을, 거짓이면 두 번째 코드 블록을 실행합니다.
- 여러 조건을 차례로 검사하며, 첫 번째 참인 조건에 해당하는 코드 블록을 실행합니다.
반복문 (Loop Statements)
반복문은 특정 코드 블록을 여러 번 실행합니다.
- 시퀀스(리스트, 튜플, 문자열 등)의 각 항목에 대해 반복합니다.
- 조건이 참인 동안 코드 블록을 반복 실행합니다.
코드 설명
x = int(input('몇 단을 출력할까요?:'))
-
input('몇 단을 출력할까요?:')
은 사용자로부터 입력을 받습니다. 이 입력은 문자열 형태로 반환됩니다. int()
함수는 이 문자열을 정수로 변환합니다.-
결과적으로
x
변수에는 사용자가 입력한 구구단의 단이 저장됩니다.
i = 1
-
i
변수는 초기값으로1
이 할당됩니다.i
는 반복문에서 곱할 숫자를 의미합니다.
while i < 9:
while
문은 조건이 참일 때 반복해서 실행됩니다.-
조건은
i < 9
이며,i
가 9보다 작을 때까지 반복문이 실행됩니다.
print(f"{x} * {i} = {x * i}")
-
print(f"{x} * {i} = {x * i}")
은 f-string(포맷 문자열)을 사용하여x
와i
의 값을 구구단 형식으로 출력합니다. -
{x}
와{i}
는 각각 변수x
와i
의 값을 문자열 내에 삽입합니다. -
{x * i}
는x
와i
의 곱셈 결과를 문자열 내에 삽입합니다. -
예를 들어, 사용자가 3을 입력했다면, 첫 번째 반복에서는
3 * 1 = 3
이 출력됩니다.
i += 1
i
의 값을 1 증가시킵니다.-
이를 통해 다음 반복에서
i
가 2가 되고, 조건이i < 9
를 만족하는 동안 계속해서 반복됩니다.
전체 코드 흐름
- 사용자가 몇 단의 구구단을 출력할지 입력합니다.
i
를 1로 초기화합니다.-
i
가 9보다 작은 동안, 다음을 반복합니다:x * i = x * i
형태로 구구단의 한 줄을 출력합니다.i
를 1 증가시킵니다.
코드 수정 제안
구구단은 1부터 9까지 출력을 해야 하므로, while
조건을
i <= 9
로 변경하는 것이 좋습니다.
기타 제어문
반복문 내에서 사용되는 제어문도 있습니다.
- 반복문을 즉시 종료합니다.
- 반복문의 현재 반복을 건너뛰고, 다음 반복으로 넘어갑니다.
- 아무 작업도 수행하지 않으며, 자리 표시자로 사용됩니다.
예제 코드
조건문 예제
요약
제어문은 프로그램의 흐름을 제어하는 중요한 도구입니다. 조건문을 사용하여
조건에 따라 코드를 실행하거나 실행하지 않도록 하고, 반복문을 사용하여 특정
코드 블록을 여러 번 실행할 수 있습니다. break
,
continue
, pass
와 같은 기타 제어문은 반복문 내에서
코드 실행을 더욱 세밀하게 제어하는 데 사용됩니다.
====
조건문 연습문제 )
연습문제 1: 점수에 따른 등급 판별
문제: 사용자로부터 점수를 입력받아 등급을 출력하는 프로그램을 작성하세요. 점수는 0부터 100 사이의 정수로 입력되며, 등급은 다음과 같이 판별합니다:
- 90점 이상:
A
- 80점 이상 90점 미만:
B
- 70점 이상 80점 미만:
C
- 60점 이상 70점 미만:
D
- 60점 미만:
F
연습문제 2: 짝수와 홀수 판별
문제: 사용자로부터 정수를 입력받아 짝수인지 홀수인지 판별하는 프로그램을 작성하세요.
연습문제 3: 나이에 따른 요금 계산
문제: 사용자로부터 나이를 입력받아 요금을 계산하는 프로그램을 작성하세요. 나이에 따른 요금은 다음과 같습니다:
- 0세에서 3세: 무료
- 4세에서 12세: 5000원
- 13세에서 64세: 10000원
- 65세 이상: 7000원
연습문제 4: 윤년 판별
문제: 사용자로부터 연도를 입력받아 해당 연도가 윤년인지 판별하는 프로그램을 작성하세요. 윤년의 조건은 다음과 같습니다:
- 연도가 4로 나누어떨어지지만 100으로 나누어떨어지지 않거나,
- 연도가 400으로 나누어떨어지면 윤년입니다.
연습문제 5: 사용자 입력에 따른 메시지 출력
문제: 사용자로부터 입력받은 문자열에 따라 다른 메시지를 출력하는 프로그램을 작성하세요. 입력된 문자열이 다음과 같으면 지정된 메시지를 출력합니다:
- "안녕하세요" 입력 시: "안녕하세요! 만나서 반가워요."
- "안녕" 입력 시: "안녕! 좋은 하루 되세요."
- "잘 가" 입력 시: "잘 가! 또 만나요."
- 다른 문자열 입력 시: "알 수 없는 명령입니다."
연습문제 6: 숫자의 크기 비교
문제: 사용자로부터 두 개의 정수를 입력받아, 두 숫자의 크기를 비교하는 프로그램을 작성하세요. 다음과 같은 결과를 출력합니다:
- 첫 번째 숫자가 더 크면: "첫 번째 숫자가 더 큽니다."
- 두 번째 숫자가 더 크면: "두 번째 숫자가 더 큽니다."
- 두 숫자가 같으면: "두 숫자가 같습니다."
연습문제 7: BMI 계산기
문제: 사용자로부터 키(미터 단위)와 체중(킬로그램 단위)을
입력받아 BMI(체질량 지수)를 계산하고, 그 결과에 따라 비만도를 출력하는
프로그램을 작성하세요. BMI 계산 공식은
BMI = 체중(kg) / (키(m) * 키(m))
입니다. 비만도는 다음과 같이
판별합니다:
- BMI < 18.5: 저체중
- 18.5 <= BMI < 25: 정상체중
- 25 <= BMI < 30: 과체중
- 30 <= BMI: 비만
이 코드는 사용자가 입력한 키와 체중을 바탕으로 BMI(체질량지수)를 계산하고, 그 결과에 따라 저체중, 정상체중, 과체중, 비만을 판별하는 프로그램입니다. 코드의 각 부분을 자세히 설명하겠습니다.
코드 설명
height = float(input('키를 미터 단위로 입력하세요 (예: 1.75): '))
-
input()
함수는 사용자로부터 문자열 형태로 입력을 받습니다. -
float()
함수는 입력된 문자열을 실수(float)로 변환합니다. -
따라서,
height
변수에는 사용자가 입력한 키(미터 단위)가 실수로 저장됩니다.
키: 170cm -> 1.70m (미터 단위로 변환) 체중: 68kg
weight = float(input('체중을 킬로그램 단위로 입력하세요: '))
-
input()
함수는 사용자로부터 문자열 형태로 입력을 받습니다. float()
함수는 입력된 문자열을 실수로 변환합니다.-
따라서,
weight
변수에는 사용자가 입력한 체중(킬로그램 단위)이 실수로 저장됩니다.
bmi = weight / (height * height)
- BMI(체질량지수)를 계산하는 공식입니다.
- BMI는 체중(킬로그램)을 키(미터)의 제곱으로 나눈 값입니다.
- 계산된 BMI 값은
bmi
변수에 저장됩니다.
if bmi < 18.5:
print(f"BMI: {bmi:.2f}, 저체중입니다.")
-
if
조건문은bmi
값이 18.5보다 작은지 검사합니다. -
조건이 참이면
print()
함수가 실행되어bmi
값과 "저체중입니다."라는 메시지를 출력합니다. -
f"BMI: {bmi:.2f}"
는 f-string을 사용하여 BMI 값을 소수점 두 자리까지 포맷합니다.
elif 18.5 <= bmi < 25:
print(f"BMI: {bmi:.2f}, 정상체중입니다.")
-
elif
조건문은bmi
값이 18.5 이상 25 미만인지 검사합니다. -
조건이 참이면
print()
함수가 실행되어bmi
값과 "정상체중입니다."라는 메시지를 출력합니다.
elif 25 <= bmi < 30:
print(f"BMI: {bmi:.2f}, 과체중입니다.")
-
elif
조건문은bmi
값이 25 이상 30 미만인지 검사합니다. -
조건이 참이면
print()
함수가 실행되어bmi
값과 "과체중입니다."라는 메시지를 출력합니다.
else:
print(f"BMI: {bmi:.2f}, 비만입니다.")
-
else
조건문은 위의 모든 조건이 거짓일 경우에 실행됩니다. -
즉,
bmi
값이 30 이상일 때print()
함수가 실행되어bmi
값과 "비만입니다."라는 메시지를 출력합니다.
요약
- 사용자로부터 키와 체중을 입력받습니다.
- 입력받은 값을 사용하여 BMI를 계산합니다.
- 계산된 BMI 값에 따라 저체중, 정상체중, 과체중, 비만 중 하나의 메시지를 출력합니다.
이 코드는 BMI를 통해 사용자의 체중 상태를 판별하는 간단한 프로그램입니다. f-string을 사용하여 BMI 값을 소수점 두 자리까지 포맷해서 출력합니다.
연습문제 8: 숫자 범위 판별
문제: 사용자로부터 정수를 입력받아 해당 숫자가 다음 중 어느 범위에 속하는지 판별하는 프로그램을 작성하세요:
- 0 미만
- 0 이상 10 이하
- 10 초과 20 이하
- 20 초과
연습문제 9: 로그인 시스템
문제: 사용자로부터 사용자 이름과 비밀번호를 입력받아 로그인 여부를 판별하는 프로그램을 작성하세요. 미리 정의된 사용자 이름과 비밀번호와 비교하여 일치하면 "로그인 성공", 일치하지 않으면 "로그인 실패"를 출력합니다.