[2025.02.21] if문

2025. 2. 24. 17:18·Python

[if 문]

  • 상황에 맞춰 조건의 순서를 잘 정해야 함.
  • 들여쓰기 잘 확인 (4칸 들여쓰기)
  • None을 비교하기 위해서는 is를 사용해야 함.
  • ex) ~~~ is None

if 조건문:

    수행할_문장

elif 조건문:

    수행할_문장

else:

    수행할_문장

 

[and, or not]

and True and True True
True and False False
False and True False
False and False False
or True or True True
True or False True
False or True True
False or False False
not not False True
not True False

 

 

[조건문을 사용한 예제 - 자판기]

# 메뉴는 펩시콜라(800), 코카콜라(900), 포카리(700), 물(500)
# 사용자에게서 돈과 뭐 고를지 물어보고
# 그것에 맞춰서 제품과 잔돈을 출력해주세요.(print)
# 없는 메뉴면 "해당 메뉴가 존재하지 않습니다."
# 돈이 부족하면 "돈이 부족합니다."
# 돈도 없고 없는 메뉴다. 메뉴없는 것부터 우선순위
user_money = input("돈을 넣어주세요 : ")
user_money = int(user_money)
user_menu = input("음료를 골라주세요 : ")
if user_menu == "콜라":
    user_menu = input("펩시콜라인지 코카콜라인지 선택해주세요 : ")
    if user_menu == "펩시":
        user_menu = "펩시콜라"
    elif user_menu == "코카":
        user_menu = "코카콜라"
elif user_menu == "펩시":
    user_menu = "펩시콜라"
elif user_menu == "코카":
    user_menu = "코카콜라"


if user_menu == "펩시콜라" or user_menu == "코카콜라" or user_menu == "포카리" or user_menu == "물":
    if user_money >= 800 and user_menu == "펩시콜라":
        print("선택하신 음료는 펩시콜라 입니다.")
        user_money = user_money - 800
    elif user_money >= 900 and user_menu == "코카콜라":
        print("선택하신 음료는 코카콜라 입니다.")
        user_money = user_money - 900
    elif user_money >= 700 and user_menu == "포카리":
        print("선택하신 음료는 포카리 입니다.")
        user_money = user_money - 700
    elif user_money >= 500 and user_menu == "물":
        print("선택하신 음료는 물 입니다.")
        user_money = user_money - 500
    else:
        print("돈이 부족합니다.")

else:
    print("해당 메뉴가 존재하지 않습니다.")
print(user_money)
  • 교수님께서 그냥 펩시랑 콜라하면 왜 안되냐고 그러셔서 콜라, 펩시, 코카에 대한 것도 처리해주는 코드 추가함.

메뉴가 존재하지 않을 경우
금액이 부족한 경우
금액, 메뉴 모두 적절한경우

 

 

# 최정환님의 코드 참고
user_money = input("돈을 넣어주세요 : ")
user_money = int(user_money)
user_menu = input("음료를 골라주세요 : ")
dict_menu = {"펩시콜라": 800, "코카콜라": 900, "포카리": 700, "물": 500}
flag_out = True

if user_menu not in dict_menu.keys():
    print("해당 메뉴가 존재하지 않습니다.")
else:
    if user_money < dict_menu[user_menu]:
        print("돈이 부족합니다.")
        flag_out = False
    elif flag_out == True:
        # print(user_menu)
        user_money = user_money - dict_menu[user_menu]
        output = f"당신이 고른 메뉴는 {user_menu}이고, 잔액은 {user_money}입니다."
        print(output)
  • 수업에서 배운 딕셔너리 자료형을 사용하여 코드를 작성하셨음. 
  • flag를 사용하여 코드작성하면 유용하다고 함.

 

[조건문을 사용한 예제 - 가위바위보]

# 가위바위보 게임
# 1번 플레이어가 "가위", "바위", "보" 중 하나를 입력
# 2번 플레이어가 "가위", "바위", "보" 중 하나를 입력
# 최종적으로 1번과 2번 플레이어가 각각 무엇을 냈는지 보여주고
# 어떤 플레이어가 이겼는지를 알려주는 게임 프로그램
1번 플레이어가 "가위", "바위", "보" 중 하나를 입력
2번 플레이어가 "가위", "바위", "보" 중 하나를 입력
최종적으로 1번과 2번 플레이어가 각각 무엇을 냈는지 보여주고
어떤 플레이어가 이겼는지를 알려주는 게임 프로그램

player_1 = input("1번 플에이어님, 가위, 바위, 보 중에 하나를 입력해 주세요 : ")
player_2 = input("2번 플에이어님, 가위, 바위, 보 중에 하나를 입력해 주세요 : ")

output = f"1번 플레이어는 \"{player_1}\"를 냈고, 2번 플레이어는 \"{player_2}\"를 냈습니다."
print(output)
if player_1 == player_2:
    print("비김")
else:
    if player_1 == "가위":
        if player_2 == "바위":
            print("2번 플레이어가 이김.")
        else:
            print("1번 플레이어가 이김.")
    elif player_1 == "바위":
        if player_2 == "가위":
            print("1번 플레이어가 이김.")
        else:
            print("2번 플레이어가 이김.")
    else:
        if player_2 == "가위":
            print("2번 플레이어가 이김.")
        else:
            print("1번 플레이어가 이김.")

  • 두 플레이어가 비긴경우만 별도로 처리함. 더 이상 코드를 못줄이겠음,,,, 비김 줄인게 최선이었음.

 

[조건문을 사용한 예제 - 본인이 하고싶은 예제 만들기 - 배달팁]

  • 위의 2개의 예제를 만든 사람은 본인이 하고싶은 예제를 만들어보라고 하셨음.
  • 그래서 배달거리와 배달음식 가격에 따른 배달팁을 알려주는 코드를 작성함.
dist = input("배달거리를 입력해주세요[km] : ")
price = input("배달음식 가격을 입력해주세요[원] : ")
dist = float(dist)
price = int(price)

fee = ["0원", "2,000원", "4,000원", "6,000원", "8,000원"]

if dist > 15 or price < 15000:
    print("배달이 불가능합니다!!!!!!ㅜㅜ")
elif dist <= 1:
    print("거리가 너무 가까워요,, 포장으로 부탁드립니당,,,,,ㅜㅜ")
else:
    if dist > 1 and dist <= 15:
        if price >= 15000 and price < 20000:
            output = f"배달팁은 \"{fee[4]}\" 입니다."
        elif price >= 20000 and price < 35000:
            output = f"배달팁은 \"{fee[3]}\" 입니다."
        elif price >= 35000 and price < 40000:
            output = f"배달팁은 \"{fee[2]}\" 입니다."
        else:
            output = f"배달팁은 \"{fee[1]}\" 입니다."
    else:
        output = f"배달팁은 \"{fee[0]}\" 입니다."
    print(output)

배달 거리가 너무 먼 경우
배달 거리가 너무 짧은 경우
배달 거리와 배달 음식 가격이 적당한 경우

'Python' 카테고리의 다른 글

[2025.02.24] for 문  (0) 2025.02.24
[2025.02.24] while 문  (0) 2025.02.24
[2025.02.20] 숫자형  (0) 2025.02.24
[2025.02.21] 자료형  (0) 2025.02.21
[2025.02.20] 문자열 자료형  (0) 2025.02.20
'Python' 카테고리의 다른 글
  • [2025.02.24] for 문
  • [2025.02.24] while 문
  • [2025.02.20] 숫자형
  • [2025.02.21] 자료형
polibo
polibo
Polibo의 개발 성장기 지켜봐주십슈 (콩 싫어해요.)
  • polibo
    Polibo와 개발 콩나무 키우기
    polibo
  • 전체
    오늘
    어제
    • 분류 전체보기 (65)
      • Python (23)
      • C (32)
        • 본수업 (19)
        • 예습 (7)
        • 개인프로젝트01 - 로또 (3)
        • 개인프로젝트02 - 복켓몬 키우기 (2)
        • 개인프로젝트03 - 김복천국 POS기 (1)
        • 팀프로젝트01 - 용사 복이의 대모험 RPG (0)
        • 팀프로젝트02 - 메일 프로그램 (0)
      • TCP_IP (0)
      • DB (1)
      • C++ (7)
        • 개인프로젝트01 - 숫자야구 (0)
      • QT (1)
        • 개인프로젝트01 - 숫자야구 (0)
        • 팀프로젝트01 - 키오스크 (1)
        • 팀프로젝트02 - 퐘퐘이 (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    c언어 scanf
    코딩
    c우선순위
    Python
    파이썬조건문
    반복문
    c언어
    while문
    C
    파이썬반복문
    for문
    파이썬게임
    조건문
    순서도
    파이썬예제
    if문
    문자열
    else if
    파이썬 숫자야구
    파이썬
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
polibo
[2025.02.21] if문
상단으로

티스토리툴바