Advertisement
JouJoy

Test task

Sep 6th, 2023 (edited)
618
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.59 KB | None | 0 0
  1. # Задачу можно решить, создав словарь для хранения выполненных часов.
  2. # Формат: Ключ - Имя. Значение - список часов по дням
  3. employee_hours = {}
  4.  
  5. # Используем бесконечный цикл для ввода данных. Условий прерывания - слово stop.
  6. while True:
  7.     input_data = input(
  8.         "Введите имя и количество часов через пробел (или 'stop' для завершения): ")
  9.     if input_data == 'stop':
  10.         break
  11.     # Предполагаем, что имя может быть из нескольких частей
  12.     # Делим входные данные на список частей
  13.     list_of_parts = input_data.split()
  14.     # Проверяем, что есть хотя бы две части
  15.     if len(list_of_parts) >= 2:
  16.         # Получаем имя исходя из того, что в конце - часы
  17.         name = ' '.join(list_of_parts[:-1])
  18.         # Количество часов
  19.         hours = int(list_of_parts[-1])
  20.         # Добавляем или обновляем статистику в словаре
  21.         if name in employee_hours:
  22.             employee_hours[name].append(hours)
  23.         else:
  24.             employee_hours[name] = [hours]
  25.  
  26. # Выводим статистику
  27. for name, hours_list in employee_hours.items():
  28.     total_hours = sum(hours_list)
  29.     hours_str = ', '.join(map(str, hours_list))
  30.     print(f"{name}: {hours_str}; sum: {total_hours}")
  31.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement