# 실습문제 1번

coffee_prices = {"아메리카노" : 4000, "카페라떼" : 5500, "바닐라 라떼" : 5000}
dessert_prices = {"마들렌" :4000,  "베이글" : 3500, "케이크" : 6500} 
BUDGET = 15000
def get_order_price(order_list, price_list):
   for order in order_list:
        global BUDGET
        BUDGET -= int(price_list[order])
        

print("커피 2잔을 선택해주세요 (아메리카노 4000원, 카페라떼 5500원, 바닐라 라떼 5000원):")
coffee1, coffee2 = input().split()
coffee_list =[coffee1 , coffee2]
print(coffee_list)
get_order_price(coffee_list, coffee_prices)
print("디저트를 선택해주세요 (마들렌 4000원, 베이글 3500원, 케이크 6500원):")
dessert1= input()
dessert_list = [dessert1]
get_order_price(dessert_list, dessert_prices)

print("주문하신 커피:",coffee_list ,", 디저트:" , dessert_list,"총액:" , BUDGET)
# 실습문제 2번

from datetime import datetime

while True:
    print("기념일을 YYYY-MM-DD 형식으로 입력하세요:")
    anniversary_str = input()
    try:
        anniversary_date = datetime.strptime(anniversary_str, "%Y-%m-%d")
    except ValueError:
        print("잘못된 날짜 형식입니다. 다시 입력해주세요.")
        continue

    if anniversary_date == datetime(2024,4,11):
        
        if anniversary_date.weekday() <5:
            print("축하드립니다! {0} 기념일은 평일 입니다.".format(anniversary_str))
        else:
            print("축하드립니다! {0} 기념일은 평일 입니다.".format(anniversary_str))
        break
    else:
        print("기억해내십시오.")
        continue
# 이론문제 1번

while(0):
     print("안녕하세요")                                                              

을 실행시키면 "안녕하세요"가 무한히 출력된다.  (X)  > 1

----------------------------------------------------

함수 밖에서 지정한 변수는 함수 내에서 따로 변수를 지정하거나 다른 작업 없이 사용이 가능하다.  (O)

----------------------------------------------------

x=10
def f():
   x=20
f()
print(x)

를 실행하면 10이 출력된다.  (O)

----------------------------------------------------

for i in range(1,22):
    if i == 14:
        break
    print(i)

위 코드의 break 대신 continue를 써도 14까지 출력이 된다.   (X)
# 이론문제 2번

def f(a=10,b=20):
    return a+b
    
위 코드의 함수 f에 대하여 c=f(1)이면 c의 값은 30이다.  (X) > c의 값은 21이다.

----------------------------------------------------

X=2,3 이고 for number in range(1,7)일 때 if 구문을 이용해서 if numer in X:continue 를 입력 후 출력하면
1,4,5,6이 출력된다.  (O)

----------------------------------------------------

for i in range(5,1,-1):
    print(i)
    
를 실행하면 5부터 1까지의 값이 출력된다.  (X) > 2까지

----------------------------------------------------

다음 코드는 짝수의 합을 구하는 문제이다. 틀린 부분이 있다면 올바르게 수정하시오.

for i in range(1, 100):
    num = int(input(f"{i}번째 숫자를 입력하세요: "))
    total += num
    
    if num % 2 == 0:
        print(f"{i}번째 입력된 숫자 {num}은(는) 짝수입니다.")
        print(f"짝수가 나타난 시점까지의 합: {total}")
        break
    else total % 2 != 0:
    print("짝수가 입력되지 않았습니다.")

> 수정 코드

total = 0

for i in range(1, 100):
    num = int(input(f"{i}번째 숫자를 입력하세요: "))
    if num % 2 == 0:
	      total += num
        print(f"{i}번째 입력된 숫자 {num}은(는) 짝수입니다.")
        print(f"짝수가 나타난 시점까지의 합: {total}")
    else :
        print("짝수가 입력되지 않았습니다.")