[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 |