without haste but without rest
[python / 계프] 5주차 과제 - 딕셔너리 본문
/*
input data
anne 1 3 6 4 5 6 3 5
john 3 2 3 5 7 2
peter 9 8 2 7 4 9
end
*/
def print_nested_dict(my_dict):
for x in my_dict:
if my_dict[x] == 1:
print(x, end=' ')
else:
print('{}({})'.format(x, my_dict[x]), end=' ')
print()
def print_dict(my_dict):
for x in my_dict:
print(x, ':', end=' ', sep='')
if type(my_dict[x]) == dict:
print_nested_dict(my_dict[x])
else:
print(my_dict[x])
def list_to_dict(nlist):
n_dict = {}
for a in nlist:
if a in n_dict:
n_dict[a] += 1
else:
n_dict[a] = 1
return n_dict
orders = {}
nested_orders = {}
items = {}
while True:
tmp = input().split()
name = tmp[0]
if name == 'end':
break
order_list = list(map(int, tmp[1:]))
orders[name] = order_list
nested_orders[name] = list_to_dict(order_list)
for a in nested_orders:
for b in nested_orders[a]: # *a's values(dict type)
if b not in items:
items[b] = {}
items[b][a] = nested_orders[a][b]
print_dict(orders); print()
print_dict(nested_orders); print()
print_dict(items)
'Homework' 카테고리의 다른 글
[C / 자료구조] 6주차 과제 - 대기줄 프로그램 (0) | 2020.04.25 |
---|---|
[python / 계프] 5주차 실습 - 딕셔너리 재귀 (0) | 2020.04.17 |
[C / 자료구조] 5주차 과제 - 연결 리스트 추가 기능 구현 (0) | 2020.04.16 |
[python / 계프] 4주차 자율과제 - key, 람다 연습 (0) | 2020.04.14 |
[C / 자료구조] 4주차 실습문제4 - 뱅킹 시뮬레이션 (0) | 2020.04.09 |
Comments