딕셔너리, 네스팅 및 시크릿 옥션

딕셔너리

money = {"kr":"원", "us":"달러", "jp":"엔화", "ch":"위안", "eu":"유로"}

print(money["ch"])
money["ru"] = "루블"
print(money)

for key in money:
    print(key)
    print(money[key])
위안
{'kr': '원', 'us': '달러', 'jp': '엔화', 'ch': '위안', 'eu': '유로', 'ru': '루블'}
kr
원
us
달러
jp
엔화
ch
위안
eu
유로
ru
루블

성적 처리 프로그램

student_score_dic = {
    "김철수":87,
    "김강민":97,
    "나수학":68,
    "박기영":88,
    "한국인":100,
    "홍길동":77,
    "박상면":83,
}

# input_data = input("학생 이름과 성적을 입력해 주세요. ((예) 나강민,85) :")
# student_name, student_score = input_data.split(",")
# student_score_dic[student_name] = int(student_score)

student_grades = {}

for name in student_score_dic :
    if student_score_dic[name] >= 91 :
        student_grades[name] = "최우수"
    elif student_score_dic[name] >= 81 :
        student_grades[name] = "우수"
    elif student_score_dic[name] >= 71 :
        student_grades[name] = "보통"
    else :
        student_grades[name] = "미흡"

print(student_grades)
{'김철수': '우수', '김강민': '최우수', '나수학': '미흡', '박기영': '우수', '한국인': '최우수', '홍길동': '보통', '박상면': '우수'}

리스트와 딕셔너리 중첩하기

capitals ={
    "France":"Paris",
    "Germany":"Berlin"
}

travel_log ={
    "France" : {"travle_visited": ["Paris", "Lille", "Dijon"], "total_visits": 12},
    "Germany" : {"travle_visited": ["Berlin", "Hamburg", "Stuttgart"], "total_visits": 7}
}

travel_map =[
    {
        "country" : "France" ,
        "travle_visited": ["Paris", "Lille", "Dijon"],
        "total_visits": 12
    },
    {
        "country" : "Germany" ,
        "travle_visited": ["Berlin", "Hamburg", "Stuttgart"],
        "total_visits": 7
    }
]

리스트 속 딕셔너리 추가하기

travel_map =[
    {
        "country" : "France" ,
        "travel_visited": ["Paris", "Lille", "Dijon"],
        "travel_day": 12
    },
    {
        "country" : "Germany" ,
        "travel_visited": ["Berlin", "Hamburg", "Stuttgart"],
        "travel_day": 7
    }
]

def add_travel_map(country, city, day):
    travel_map.append({"country":new_country, "travel_visited": travel_city, "travel_day": day})
    return

new_country = input("당신이 여행했던 나라를 입력해 주세요. 예)한국 ")
travel_city = input("그 나라에서 여행을 갔던 도시를 입력해 주세요. 예)서울,부산,광주 ").split(",")
day = int(input("며칠을 방문했나요? 숫자로 입력해주세요"))

add_travel_map(new_country, travel_city, day)

print(travel_map)
[{'country': 'France', 'travel_visited': ['Paris', 'Lille', 'Dijon'], 'travel_day': 12}, {'country': 'Germany', 'travel_visited': ['Berlin', 'Hamburg', 'Stuttgart'], 'travel_day': 7}, {'country': '한국', 'travel_visited': ['서울', '부산', '제주도', '여수', '광양'], 'travel_day': 7}]

비밀 경매 프로그램

logo = '''
         ___________
                         \         /
                          )_______(
                          |"""""""|_.-._,.---------.,_.-._
                          |       | | |               | | ''-.
                          |       |_| |_             _| |_..-'
                          |_______| '-' `'---------'` '-'
                          )"""""""(
                         /_________\
                         `'-------'`
                       .-------------.
                   jgs/_______________\

'''
print(logo)
game_start = "예"

blind_auction_dic = {}

def add_blind_auction(name, money):
  blind_auction_dic[name] = money
  return

def successful_bid():
  result = []
  result_money = 0

  for bid_user in blind_auction_dic :
    if result_money < blind_auction_dic[bid_user] :
      result_money = blind_auction_dic[bid_user]
      result = [bid_user, result_money]

  print(f"최종 낙찰자는 {result[1]}원을 입찰한 {result[0]}입니다 ")
  return

while game_start == "예" :
  user_name = input("경매 입찰자의 이름을 입력해 주세요.")
  user_money = int(input("경매 입찰 가격을 입력해 주세요."))
  add_blind_auction(user_name, user_money)
  game_start = input("경매에 참가하는 사람이 더 있습니까? 예, 아니오 입력")

print("입찰자 정보")
print(blind_auction_dic)
successful_bid()



         ___________
                         \         /
                          )_______(
                          |"""""""|_.-._,.---------.,_.-._
                          |       | | |               | | ''-.
                          |       |_| |_             _| |_..-'
                          |_______| '-' `'---------'` '-'
                          )"""""""(
                         /_________                         `'-------'`
                       .-------------.
                   jgs/_______________

입찰자 정보
{'홍길동': 40000, '김길수': 50000, '나영심': 45000, '김영희': 70000}
최종 낙찰자는 70000원을 입찰한 김영희입니다