🎉 बधाई! 🎉
आपने कार्य को शानदार ढंग से हल किया! यह कठिन था, लेकिन आपने सही उत्तर खोजा। आप प्रोग्रामिंग में महारत के करीब हैं! ऐसे ही जारी रखें।
ProgerLib सभी के लिए Python
रेस्तरां ने अद्वितीय ग्राहकों की संख्या और उनमें से प्रत्येक द्वारा भुगतान की गई राशि का पता लगाने का निर्णय लिया। एक प्रोग्राम लिखें जो ग्राहकों के साथ एक शब्दकोश स्वीकार करता है और संस्थान में अद्वितीय ग्राहकों और उनकी कुल लागतों को लौटाता है।
पहली पंक्ति में एक संख्या n है & mdash; लेन-देन रिकॉर्ड की संख्या। अगली n पंक्तियों में से प्रत्येक में ग्राहक का नाम (बिना रिक्त स्थान के पंक्ति) और खरीदारी की राशि (एक पूर्णांक) शामिल है, जो एक स्थान से अलग किए गए हैं।
एक पंक्ति जिसमें पायथन डिक्शनरी है, जहाँ कुंजियाँ & mdash; अद्वितीय ग्राहक नाम हैं, और मान & mdash; उनकी कुल लागतें हैं।
4
Peter 300
Anna 150
Peter 100
Anna 400
{'Peter': 400, 'Anna': 550}
# Инициализируем пустой словарь для хранения итоговых сумм по клиентам
client_totals = {}
# Считываем первое число - общее количество записей о покупках
try:
num_records = int(input())
# Проверяем, что количество записей не отрицательное
if num_records < 0:
# В случае отрицательного числа, считаем это некорректным вводом
# и выводим пустой словарь, так как транзакций не будет.
print({})
else:
# Запускаем цикл, который выполнится указанное количество раз
for _ in range(num_records):
# Считываем строку и разделяем ее на имя и сумму по пробелу
# .split() по умолчанию разделяет по пробелам и возвращает список строк
parts = input().split()
name = parts[0]
amount = int(parts[1])
# Используем метод словаря get(). Он безопасен и удобен.
# Если клиент (ключ 'name') уже есть в словаре, get() вернет его текущую сумму.
# Если клиента еще нет, get() вернет значение по умолчанию, которое мы указали (0).
# Затем к полученному значению мы прибавляем новую сумму и записываем результат в словарь.
client_totals[name] = client_totals.get(name, 0) + amount
# Выводим итоговый словарь с результатами
print(client_totals)
except (ValueError, IndexError):
# Эта часть кода сработает, если ввод некорректен.
# Например, если вместо числа введено слово, или в строке с транзакцией нет суммы.
# В таких случаях программа выведет пустой словарь, что является логичным
# поведением при невозможности обработать данные.
print({})
🎉 बधाई! 🎉
आपने कार्य को शानदार ढंग से हल किया! यह कठिन था, लेकिन आपने सही उत्तर खोजा। आप प्रोग्रामिंग में महारत के करीब हैं! ऐसे ही जारी रखें।
AD
विज्ञापन
कोड चल रहा है...