파이썬 네스팅 Python Nesting
Nesting 은 list 혹은 dictionary 에 또 다른 list 나 dictionary를 넣는 것입니다.
{
key: [List]},
key2: {Dict},
}
capitals = {
"Korea": "Seoul",
"Germany": "Berlin",
"England": "London",
}
Key 하나당 value 값은 하나만 들어갈 수 있는데요,
Key 에 해당하는 값에 여러 데이터를 원하면 결국 list 나 dictionary 가 value 로 들어가야합니다.
Nesting 이 되는 것이죠.
travel_log = {
"France": ["Paris", "Lille", "Dijon"],
"Korea": ["Seoul", "Busan", "Jeju"],
}
#Nesting 은 데이터 구조에 매우 효과적인 방법이라고 할 수 있겠습니다.
예시)
["a", "b", ["c", "d"]]
travel_log = {
"Korea": {"cities_visited" = ["Seoul", "Busan", "Daejun"], "total_visits": 14},
"France":{"cities_visited" = ["Paris", "Lille", "Dijon"], "total_visits": 13},
}
#Nesting DIctionary in List
travel_log = [
{
"country":"Korea",
"cities_visited" = ["Seoul", "Busan", "Daejun"],
"total_visits": 14},
},
{
"country":"France",
"cities_visited" = ["Paris", "Lille", "Dijon"],
"total_visits": 13.
}
]
예제
travel_log = [
{
"country":"Korea",
"cities_visited" = ["Seoul", "Busan", "Daejun"],
"total_visits": 14},
},
{
"country":"France",
"cities_visited" = ["Paris", "Lille", "Dijon"],
"total_visits": 13.
}
]
여기에 자신이 만든 function 을 이용하여 country, cities_visited, total_visits 추가하기
.
.
.
.
.
def add_new_country (country_visited, times_visited, cities_visited):
new_country = {}
new_country["country"] = country_visited
new_country["visits"] = times_visited
new_country["cities"] = cities_visited
travel_log.append(new_country)
add_new_country("Russia", 4, ["Novosibirsk", "Moscow", "SaintPetersburg"])
print(travel_log)
Replit 이란 사이트에서 별도의 코딩 프로그램 없이 바로 파이썬을 돌려(실행) 볼 수 있습니다.
파이썬으로 경매 게임 만들기
이름과 경매 액수를 입력하면 참가자 중에 가장 높은 금액을 제시한, 사람의 이름과 액수를 결과로 나오는 게임을 만들어 보겠습니다.
from replit import clear 을 통해 clear() 기능을 사용하시면 더욱 깔끔한 게임이 만들어집니다. clear()는 콘솔의 아웃풋 창을 표면적으로 초기화해줍니다.
답은
.
.
.
.
.
.
.
.
.
.
.
from replit import clear
bid_data = {}
bid_finish = False
def find_highest_bidder(bid_record):
highest_bid = 0
for bidder in bid_record:
bid_amount = bid_record[bidder]
if bid_amount > highest_bid:
highest_bid = bid_amount
winner = bidder
print(f"{winner}님이 {highest_bid}원으로 가장 높은 금액을 제시하셨습니다.")
while not bid_finish:
name = input("이름을 적어주세요: ")
bid = int(input("얼마를 내시겠습니까?: "))
bid_data[name] = bid
bid_continue = input("참여하실 분들이 더 있나요? Type '네' or '아니요'.")
if bid_continue == '아니요':
bid_finish = True
find_highest_bidder(bid_data)
elif bid_continue == '네':
clear()
else:
print("오류입니다, 다시 입력하세요")
'Python' 카테고리의 다른 글
Leetcode 189. Rotate Array Python (0) | 2022.06.16 |
---|---|
Leetcode 977. Squares of a Sorted Array - Python 리트코드 투 포인터 파이썬 (0) | 2022.06.14 |
Leetcode 704. Binary Search - Python 리트코드 비이너리 서치 파이썬 (0) | 2022.06.09 |
Python print return 차이 파이썬 프린트 리턴 차이 (2) | 2022.06.05 |
파이썬 딕셔너리 Python Dictionary 파이썬 사전 (0) | 2022.05.25 |