"Anaconda Prompt 3) 제어문 학습 ; 조건문, 반복문, 그리고 연습문제"

 프로그래밍에서 제어문은 코드의 흐름을 제어하는 데 사용됩니다. 제어문을 사용하면 조건에 따라 코드의 실행을 분기하거나, 반복해서 실행할 수 있습니다. 주요 제어문에는 조건문과 반복문이 있습니다.

Anaconda Prompt 3) 제어문 학습 ; 조건문, 반복문, 그리고 연습문제

조건문 (Conditional Statements)

조건문은 주어진 조건에 따라 코드 블록을 실행하거나 실행하지 않도록 제어합니다.

1) if 문

  • 조건이 참일 때 코드 블록을 실행합니다.
if condition:
    # 조건이 참일 때 실행할 코드

2) if-else 문

  • 조건이 참이면 첫 번째 코드 블록을, 거짓이면 두 번째 코드 블록을 실행합니다.
if condition:
    # 조건이 참일 때 실행할 코드
else:
    # 조건이 거짓일 때 실행할 코드
if-else 문

3) if-elif-else 문
  • 여러 조건을 차례로 검사하며, 첫 번째 참인 조건에 해당하는 코드 블록을 실행합니다.
if condition1:
    # 조건1이 참일 때 실행할 코드
elif condition2:
    # 조건2가 참일 때 실행할 코드
else:
    # 위의 모든 조건이 거짓일 때 실행할 코드

if-elif-else 문


반복문 (Loop Statements)

반복문은 특정 코드 블록을 여러 번 실행합니다.

1) for 문
  • 시퀀스(리스트, 튜플, 문자열 등)의 각 항목에 대해 반복합니다.
for item in sequence:
    # 각 항목에 대해 실행할 코드
for 문

for 문 1

for 문 2

for 문 3

2) while 문
  • 조건이 참인 동안 코드 블록을 반복 실행합니다.
while condition:
    # 조건이 참일 때 반복할 코드
while 문

이 이 코드는 사용자가 입력한 숫자에 해당하는 구구단을 출력하는 Python 스크립트입니다. 각 줄의 코드를 하나씩 살펴보며 설명하겠습니다.

코드 설명

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(포맷 문자열)을 사용하여 xi의 값을 구구단 형식으로 출력합니다.
  • {x}{i}는 각각 변수 xi의 값을 문자열 내에 삽입합니다.
  • {x * i}xi의 곱셈 결과를 문자열 내에 삽입합니다.
  • 예를 들어, 사용자가 3을 입력했다면, 첫 번째 반복에서는 3 * 1 = 3이 출력됩니다.

i += 1
  • i의 값을 1 증가시킵니다.
  • 이를 통해 다음 반복에서 i가 2가 되고, 조건이 i < 9를 만족하는 동안 계속해서 반복됩니다.

전체 코드 흐름

  1. 사용자가 몇 단의 구구단을 출력할지 입력합니다.
  2. i를 1로 초기화합니다.
  3. i가 9보다 작은 동안, 다음을 반복합니다:
    • x * i = x * i 형태로 구구단의 한 줄을 출력합니다.
    • i를 1 증가시킵니다.

코드 수정 제안

구구단은 1부터 9까지 출력을 해야 하므로, while 조건을 i <= 9로 변경하는 것이 좋습니다. 



기타 제어문

반복문 내에서 사용되는 제어문도 있습니다.

1) break 문
  • 반복문을 즉시 종료합니다.
for item in sequence:
    if condition:
        break
    # 반복문이 종료되지 않으면 실행할 코드
기타 제어문 break 문

2) continue 문
  • 반복문의 현재 반복을 건너뛰고, 다음 반복으로 넘어갑니다.
for item in sequence:
    if condition:
        continue
    # 조건이 참일 때는 이 코드가 실행되지 않습니다.

3) pass 문
  • 아무 작업도 수행하지 않으며, 자리 표시자로 사용됩니다.
if condition:
    pass  # 조건이 참이지만 실행할 코드가 없을 때

예제 코드

조건문 예제

x = 10

if x > 0:
    print("x는 양수입니다.")
elif x == 0:
    print("x는 0입니다.")
else:
    print("x는 음수입니다.")
조건문 예제

반복문 예제
# for 문
fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
    print(fruit)
반복문 예제 for 문

# while 문
count = 5
while count > 0:
    print(count)
    count -= 1
반복문 예제 while 문

# break와 continue 문
for i in range(10):
    if i == 3:
        continue  # 3일 때는 아래 코드를 실행하지 않고 다음 반복으로 넘어갑니다.
    if i == 7:
        break  # 7일 때는 반복문을 종료합니다.
    print(i)
반복문 예제 break와 continue 문

요약

제어문은 프로그램의 흐름을 제어하는 중요한 도구입니다. 조건문을 사용하여 조건에 따라 코드를 실행하거나 실행하지 않도록 하고, 반복문을 사용하여 특정 코드 블록을 여러 번 실행할 수 있습니다. break, continue, pass와 같은 기타 제어문은 반복문 내에서 코드 실행을 더욱 세밀하게 제어하는 데 사용됩니다.

====

조건문 연습문제 )

연습문제 1: 점수에 따른 등급 판별

문제: 사용자로부터 점수를 입력받아 등급을 출력하는 프로그램을 작성하세요. 점수는 0부터 100 사이의 정수로 입력되며, 등급은 다음과 같이 판별합니다:

  • 90점 이상: A
  • 80점 이상 90점 미만: B
  • 70점 이상 80점 미만: C
  • 60점 이상 70점 미만: D
  • 60점 미만: F
연습문제 1: 점수에 따른 등급 판별


연습문제 2: 짝수와 홀수 판별

문제: 사용자로부터 정수를 입력받아 짝수인지 홀수인지 판별하는 프로그램을 작성하세요.

연습문제 2: 짝수와 홀수 판별


연습문제 3: 나이에 따른 요금 계산

문제: 사용자로부터 나이를 입력받아 요금을 계산하는 프로그램을 작성하세요. 나이에 따른 요금은 다음과 같습니다:

  • 0세에서 3세: 무료
  • 4세에서 12세: 5000원
  • 13세에서 64세: 10000원
  • 65세 이상: 7000원

연습문제 3: 나이에 따른 요금 계산


연습문제 4: 윤년 판별

문제: 사용자로부터 연도를 입력받아 해당 연도가 윤년인지 판별하는 프로그램을 작성하세요. 윤년의 조건은 다음과 같습니다:

  • 연도가 4로 나누어떨어지지만 100으로 나누어떨어지지 않거나,
  • 연도가 400으로 나누어떨어지면 윤년입니다.
연습문제 4: 윤년 판별


연습문제 5: 사용자 입력에 따른 메시지 출력

문제: 사용자로부터 입력받은 문자열에 따라 다른 메시지를 출력하는 프로그램을 작성하세요. 입력된 문자열이 다음과 같으면 지정된 메시지를 출력합니다:

  • "안녕하세요" 입력 시: "안녕하세요! 만나서 반가워요."
  • "안녕" 입력 시: "안녕! 좋은 하루 되세요."
  • "잘 가" 입력 시: "잘 가! 또 만나요."
  • 다른 문자열 입력 시: "알 수 없는 명령입니다."

연습문제 5: 사용자 입력에 따른 메시지 출력

연습문제 6: 숫자의 크기 비교

문제: 사용자로부터 두 개의 정수를 입력받아, 두 숫자의 크기를 비교하는 프로그램을 작성하세요. 다음과 같은 결과를 출력합니다:

  • 첫 번째 숫자가 더 크면: "첫 번째 숫자가 더 큽니다."
  • 두 번째 숫자가 더 크면: "두 번째 숫자가 더 큽니다."
  • 두 숫자가 같으면: "두 숫자가 같습니다."
연습문제 6: 숫자의 크기 비교


연습문제 7: BMI 계산기

문제: 사용자로부터 키(미터 단위)와 체중(킬로그램 단위)을 입력받아 BMI(체질량 지수)를 계산하고, 그 결과에 따라 비만도를 출력하는 프로그램을 작성하세요. BMI 계산 공식은 BMI = 체중(kg) / (키(m) * 키(m))입니다. 비만도는 다음과 같이 판별합니다:

  • BMI < 18.5: 저체중
  • 18.5 <= BMI < 25: 정상체중
  • 25 <= BMI < 30: 과체중
  • 30 <= BMI: 비만
연습문제 7: 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 값과 "비만입니다."라는 메시지를 출력합니다.

    요약

    1. 사용자로부터 키와 체중을 입력받습니다.
    2. 입력받은 값을 사용하여 BMI를 계산합니다.
    3. 계산된 BMI 값에 따라 저체중, 정상체중, 과체중, 비만 중 하나의 메시지를 출력합니다.

    이 코드는 BMI를 통해 사용자의 체중 상태를 판별하는 간단한 프로그램입니다. f-string을 사용하여 BMI 값을 소수점 두 자리까지 포맷해서 출력합니다.


    연습문제 8: 숫자 범위 판별

    문제: 사용자로부터 정수를 입력받아 해당 숫자가 다음 중 어느 범위에 속하는지 판별하는 프로그램을 작성하세요:

    • 0 미만
    • 0 이상 10 이하
    • 10 초과 20 이하
    • 20 초과
    연습문제 8: 숫자 범위 판별

    연습문제 9: 로그인 시스템

    문제: 사용자로부터 사용자 이름과 비밀번호를 입력받아 로그인 여부를 판별하는 프로그램을 작성하세요. 미리 정의된 사용자 이름과 비밀번호와 비교하여 일치하면 "로그인 성공", 일치하지 않으면 "로그인 실패"를 출력합니다.

    연습문제 9: 로그인 시스템



    이전글)
    Anaconda Prompt 2) 기본적인 명령어 사용법 & 데이터 숫자형, 불린형



    댓글 쓰기

    다음 이전