TGViewer
About Python [ru] About Python [ru] @python_tesst · 6.42K subscribers
Post #1399 1.17K
👩‍💻 Задачка по Python

Создайте Python-приложение, которое будет обрабатывать CSV-файл с данными о продажах (имя продавца, товар, сумма) и генерировать сводный отчёт по каждому продавцу с общей суммой продаж. Программа должна сохранять отчёт в файл sales_summary.csv.

➡️ Пример:

• python app.py sales_report sales.csv — генерирует сводный отчёт по продажам.

Решение задачи ⬇️

import csv
import sys
from collections import defaultdict

def generate_sales_report(input_file):
sales_summary = defaultdict(float)

with open(input_file, 'r') as file:
reader = csv.reader(file)
for row in reader:
seller, item, amount = row
sales_summary[seller] += float(amount)

with open('sales_summary.csv', 'w', newline='') as file:
writer = csv.writer(file)
writer.writerow(['Seller', 'Total Sales'])
for seller, total_sales in sales_summary.items():
writer.writerow([seller, total_sales])

if __name__ == "__main__":
if len(sys.argv) != 3 or sys.argv[1] != 'sales_report':
print('Использование: python
app.py sales_report <файл.csv>')
else:
generate_sales_report(sys.argv[2])
More from @python_tesst
  1. Oct 10, 2026Python 3.15 на проде: ленивые импорты, frozendict, UTF-8 из коробки и JIT, который наконец…
  2. Oct 9, 2026Haiku 5.5 — коротко по делу В среднем один запуск выходит на 75% дешевле, чем у Haiku 4.5.…
  3. Oct 8, 202650 промптов для ChatGPT, после которых толстенный PDF или статья вовсе не обязательно чита…
  4. Oct 8, 2026Сидишь такой, готовишь стартап на 500M$+, а лимиты сдохли уже на втором запросе. 👉 About…
  5. Oct 7, 2026Python в Cloudflare Workers: всё, теперь по-взрослому — GA Cloudflare перестала держать Py…
  6. Oct 7, 2026PyCoder’s Weekly #755 — 6 октября 2026 Python 3.15.0rc3: в новых фичах lazy loading что-то…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →