Skip to content

Instantly share code, notes, and snippets.

@antosha417
Last active October 19, 2019 15:23
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save antosha417/5da57fc480addcf71900cec8336e0be6 to your computer and use it in GitHub Desktop.
Save antosha417/5da57fc480addcf71900cec8336e0be6 to your computer and use it in GitHub Desktop.
int number_of_lines = int(input())
summary = {}
for _ in range(number_of_lines):
customer_name, item, amount = input().split()
summary[customer_name] = {item: amount} # так в итоге выведем только последнюю покупку для каждого покупателя
####################################################################################################################################
int number_of_lines = int(input())
summary = {}
for _ in range(number_of_lines):
customer_name, item, amount = input().split()
if not customer_name in summary:
summary[customer_name] = {} # если покупатель ничего не купил, то у него пустой список покупок
summary[customer_name][item] = amount # тут нет суммировани ammountов, например если 2 раза купить хлеб будем только последний раз показывать
#########################################################################################################################################
int number_of_lines = int(input())
summary = {}
for _ in range(number_of_lines):
customer_name, item, amount = input().split()
if not customer_name in summary:
summary[customer_name] = {}
if not item in summary[customer_name]:
summary[customer_name][item] = 0 # если этот товар еще не покупали то, запоминаем, что купили его ноль раз
# иначет тут ↓↓↓↓↓ получили бы ошибку key error, пытаемся прочитать значение по ключу, но там ничего нет
summary[customer_name][item] = summary[customer_name][item] + amount
# готово, задача решена. но можно ли как-то еще?
# мы пользуемся словарем так: если значения нет, положи по этому значению ноль. Для этого и нужен defaultdict
########################################################################################################################################
from collections import defaultdict
int number_of_lines = int(input())
summary = {}
for _ in range(number_of_lines):
customer_name, item, amount = input().split()
if not customer_name in summary:
summary[customer_name] = defaultdict(lambda: 0)
summary[customer_name][item] = summary[customer_name][item] + amount
# уже получше, меньше года, легче читается, пойдем дальше. и сделаем точно такое же преобразование
#########################################################################################################################################
from collections import defaultdict
int number_of_lines = int(input())
summary = defaultdict(lambda: defaultdict(lambda: 0))
for _ in range(number_of_lines):
customer_name, item, amount = input().split()
summary[customer_name][item] = summary[customer_name][item] + amount
# уже почти
#########################################################################################################################################
from collections import defaultdict
int number_of_lines = int(input())
summary = defaultdict(lambda: defaultdict(lambda: 0))
for _ in range(number_of_lines):
customer_name, item, amount = input().split()
summary[customer_name][item] += amount
# готово, вы великолепны
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment