파이썬

 

1. if/else 및 조건 연산자를 통한 흐름제어

 

1. 조건문과 일상 속 예시

욕조가 넘치지 않는 이유는 "오버플로우 구멍"이라는 장치 덕분이다. 물이 일정 높이 이상 올라가면 자동으로 넘치는 물을 빼주는 시스템이다. 이를 파이썬 코드로 표현하면 조건문(if, else)을 사용할 수 있다.

예를 들어, 물 높이가 80cm를 넘으면 물을 빼고, 그렇지 않으면 계속 채운다.

water_level = 50
if water_level > 80:
    print("물이 넘치므로 배수합니다.")
else:
    print("계속 물을 채웁니다.")

 

2. 조건문 기초 문법

if 조건식:
    조건이 참일 때 실행할 코드
else:
    조건이 거짓일 때 실행할 코드
  • : 콜론 필수

  • 들여쓰기(Indentation) 중요. 블록 단위로 실행될 코드를 나타냄

 

 

3. 실습 예제: 놀이공원 티켓 발급

조건: 키가 120cm 이상이면 탑승 가능

print("롤러코스터에 오신 것을 환영합니다!")
height = int(input("당신의 키는 몇 cm입니까? "))

if height >= 120:
    print("롤러코스터를 탈 수 있습니다!")
else:
    print("죄송합니다. 더 자란 후에 다시 오세요.")

 

4. 비교 연산자 정리

 

 

5. 주의할 점

  • = vs == 혼동 금지

  • if와 else는 같은 들여쓰기 수준에 위치해야 함

  • 조건문 블록 내 코드는 반드시 들여쓰기

  • 조건문이 참이면 if 블록이 실행되고, 거짓이면 else 블록 실행

 

6. 결론

if와 else를 활용하면 다양한 조건에 따라 프로그램의 흐름을 제어할 수 있다. 이를 통해 사용자 입력에 따른 맞춤형 반응을 구현할 수 있으며, 비교 연산자와 함께 사용하면 훨씬 더 다양한 로직을 작성할 수 있다.

 

 

 

 

 

2. Modulo 연산자와 홀짝 판별 프로그램 만들기

1. 연산자란?

  • **연산자(operator)**는 프로그래밍에서 특정 기능을 수행하는 기호입니다.

  • 예: 산술 연산자(+, -, *, /), 비교 연산자(==, !=, >, <) 등

 

 

2. Modulo 연산자란?

  • % 기호를 사용하며, 나눈 뒤의 나머지를 반환합니다.

  • 예시:

    • 10 % 5 = 0 (5로 나누어 떨어짐 → 나머지 없음)

    • 10 % 3 = 1 (3으로 나누면 몫은 3, 나머지는 1)

 

 

3. Modulo 연산자를 활용한 홀짝 판별 방법

  • 짝수: 어떤 수를 2로 나눴을 때 나머지가 0인 수

  • 홀수: 어떤 수를 2로 나눴을 때 나머지가 1인 수

예시:

  • 12 % 2 = 0 → 짝수

  • 3 % 2 = 1 → 홀수

  • 19 % 2 = 1 → 홀수

 

 

4. 실습 과제: 사용자 입력값이 홀수인지 짝수인지 판별하기

작업 순서:

  1. 사용자로부터 숫자를 입력받기

  2. 입력값을 정수형(int)으로 변환

  3. % 연산자를 사용하여 짝수/홀수 판별

  4. if-else 문으로 출력 분기

예시 코드:

# 1. 사용자 입력 받기
number_to_check = int(input("확인할 숫자를 입력하세요: "))

# 2. 홀짝 판별
if number_to_check % 2 == 0:
    print("짝수입니다.")
else:
    print("홀수입니다.")

 

5. 요약 및 학습 팁

  • % 연산자는 나머지를 반환하며, 홀짝 판별에 자주 사용됩니다.

  • if 조건문과 함께 쓰면 프로그램 흐름을 제어할 수 있습니다.

  • 실습을 통해 개념을 직접 구현하고 이해하는 것이 중요합니다.

  • 실수는 자연스러운 과정이며, 반복 학습을 통해 익히면 됩니다.

 

 

 

 

 

3. 파이썬 조건문 중첩 및 Elif 문 정리

 

1. 복습: if-else 문

이전 강의에서는 키(height)를 기준으로 if-else 문을 사용하여 120cm 이상일 경우에만 티켓 구매가 가능하도록 만들었습니다.

if height > 120:
    # 티켓 구매 가능
else:
    # 티켓 구매 불가

 

2. 새로운 조건 추가: 나이(age)

이번에는 키뿐만 아니라 나이에 따라 티켓 가격을 다르게 설정해야 합니다.

  • 18세 초과: 성인 요금 $12

  • 18세 이하: 청소년 요금 $7

이를 구현하기 위해  중첩 if문(nested if statement)을 사용할 수 있습니다.

if height > 120:
    age = int(input("나이를 입력하세요: "))
    if age <= 18:
        print("티켓 가격은 $7입니다.")
    else:
        print("티켓 가격은 $12입니다.")
else:
    print("키가 120cm 미만이므로 탑승할 수 없습니다.")

위 코드에서 age 조건은 height 조건이 참일 경우에만 검사됩니다.

 

3. 조건 세분화: 3단계 요금제

상사가 코드 검토 후 요금제를 다음과 같이 변경 요청합니다:

  • 12세 미만: $5

  • 12세 이상 ~ 18세 이하: $7

  • 18세 초과: $12

이처럼 세 가지 이상의 조건이 필요할 때는 elif 문을 사용합니다.

if height > 120:
    age = int(input("나이를 입력하세요: "))
    if age < 12:
        print("티켓 가격은 $5입니다.")
    elif age <= 18:
        print("티켓 가격은 $7입니다.")
    else:
        print("티켓 가격은 $12입니다.")
else:
    print("키가 120cm 미만이므로 탑승할 수 없습니다.")
  • elif는 else if의 줄임말로, 앞의 조건이 False일 때 이어서 조건을 확인합니다.

  • elif는 여러 개 사용할 수 있어 다양한 조건을 세분화할 수 있습니다.

 

 

4. 확장 가능성

elif를 이용하면 다양한 가격 정책을 더 추가할 수 있습니다:

    elif age < 22:
        print("티켓 가격은 $10입니다.")

필요에 따라 elif 블록을 계속 추가하여 더 복잡한 로직도 구현 가능합니다.

 

 

✅ 연습 팁

  • 직접 코드를 작성해 보며 중첩 if 문과 elif의 흐름을 익히세요.

  • 다양한 나이와 키 값을 입력해보며 출력이 예상대로 나오는지 확인해보세요.

 

 

 

 

 

 

4. 다중 연속 If 문

 

1. 하나의 조건만 확인하는 경우: if / elif / else

  • if / elif / else 문은 여러 조건을 확인할 수 있지만 오직 하나의 조건만 실행됩니다.

  • 첫 번째 조건이 참이면, 해당 블록의 코드가 실행되고 나머지는 무시됩니다.

  • 예를 들어,

    if condition_a:
        # A 실행
    elif condition_b:
        # B 실행
    else:
        # C 실행
    

    위 코드에서 조건 A가 참이면 B와 C는 실행되지 않습니다.

 

2. 여러 조건을 모두 확인해야 하는 경우: 다중 if문

  • 각각의 조건이 독립적이라면 여러 개의 if 문을 사용해야 합니다.

  • 각각의 if 조건이 참일 경우, 모두 실행됩니다.

  • 예를 들어,

    if condition_a:
        # A 실행
    if condition_b:
        # B 실행
    if condition_c:
        # C 실행
    

    위 코드에서는 A, B, C 중 조건이 참인 것 전부 실행됩니다.

 

3. 롤러코스터 티켓 예제

기본 조건:

  • 키가 120cm 이상일 경우만 탑승 가능

  • 나이에 따라 티켓 가격이 다름

    • 12세 미만: $5

    • 12세 이상 ~ 18세 미만: $7

    • 18세 이상: $12

새로운 조건:

  • 사진을 찍고 싶다면 추가로 $3 부과

  • 이 조건은 나이, 키와 무관하게 항상 확인해야 함

구현 코드 요약:

print("Welcome to the rollercoaster!")
height = int(input("What is your height in cm? "))

if height >= 120:
    age = int(input("What is your age? "))
    bill = 0

    if age < 12:
        bill = 5
        print("Child tickets are $5.")
    elif age < 18:
        bill = 7
        print("Youth tickets are $7.")
    else:
        bill = 12
        print("Adult tickets are $12.")

    wants_photo = input("Do you want a photo taken? Y or N. ")
    if wants_photo == "Y":
        bill += 3

    print(f"Your final bill is ${bill}.")
else:
    print("Sorry, you have to grow taller before you can ride.")

 

4. 요점 정리

  • if / elif / else는 단일 선택에서 사용

  • 여러 조건을 모두 평가해야 할 때는 여러 개의 if문 사용

  • 추가 조건(예: 사진 여부)은 메인 조건문과 별도로 분리하여 확인

  • 들여쓰기는 파이썬에서 중요! 같은 수준의 들여쓰기로 블록 구성해야 올바르게 작동

 

5. 연산자 팁

  • bill += 3 은 bill = bill + 3의 축약형

  • 변수 값을 누적하거나 증가시킬 때 유용하게 사용됨

 

 

 

 

 

about author

PHRASE

Level 60  라이트

어린이는 부모가 이야기하는 모양을 흉내낸다. 성격은 그 이야기하는 모양으로 알 수 있다. -탈무드

댓글 ( 1)

댓글 남기기

작성