Вопрос задан 25.09.2023 в 17:45. Предмет Информатика. Спрашивает Белова Вероника.

Нужна помощь, язык python есть переменнаяworkers = {'Петров': {'должность': 'младший

Разработчик','эффективность': 50,'проекты': ['спанч-боб', 'сайт знакомств']},'Бекалиев': {'должность': 'разработчик','эффективность': 75,'проекты': ['гравити-фолз', 'калькулятор']},'Сидоров': {'должность': 'Старший разработчик','эффективность': 90,'проекты': [' гайдкий я ','калькулятор уравнений']}}основываясь на этой переменной нужно сделать так чтобы1- выводились фамилии всех сотрудников2- должности всех сотрудников3-Фамилия самого эффективного сотрудника4-Добавление нового сотрудника, удаление существуещего сотрудника, изменение эффективности сотрудника по фамилииработать это должно по принципу телеграм бота типо нажмите 1 будет это нажмите 2 будет это.заранее спасибо
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Сон Ната.

workers = {

   

   'Петров': {

       'должность': 'младший Разработчик',

       'эффективность': 50,

       'проекты': ['спанч-боб', 'сайт знакомств']

   },

   'Бекалиев': {

       'должность': 'разработчик',

       'эффективность': 75,

       'проекты': ['гравити-фолз', 'калькулятор']

   },

   'Сидоров': {

       'должность': 'Старший разработчик',

       'эффективность': 90,

       'проекты': [' гайдкий я ','калькулятор уравнений']

   }

}

def Menu():

   print('Нажмите 1 чтобы вывести фамилии всех сотрудников')

   print('Нажмите 2 чтобы вывести должности всех сотрудников')

   print('Нажмите 3 чтобы вывести фамилию самого эффективного сотрудника')

   print('Нажмите 4 чтобы добавить нового сотрудника')

   print('Нажмите 5 чтобы удалить сотрудника')

   print('Нажмите 6 чтобы изменить эффективность сотрудника')

   print('Нажмите 7 чтобы выйти из программы')

   while True:

       try:

           choice = int(input('Введите номер пункта: '))

       except ValueError:

           print('Неверный ввод, попробуйте еще раз')

       else:

           if choice in range(1, 8):

               return choice

           else:

               print('Неверный ввод, попробуйте еще раз')

def print_surnames():

   for surname in workers:

       print(surname)

def print_positions():

   for surname in workers:

       print(workers[surname]['должность'])

def print_most_efficient():

   max_efficiency = 0

   for surname in workers:

       if workers[surname]['эффективность'] > max_efficiency:

           max_efficiency = workers[surname]['эффективность']

           most_efficient = surname

   print(most_efficient)

def add_worker():

   surname = input('Введите фамилию сотрудника: ')

   position = input('Введите должность сотрудника: ')

   efficiency = int(input('Введите эффективность сотрудника: '))

   projects = input('Введите проекты сотрудника: ').split()

   workers[surname] = {

       'должность': position,

       'эффективность': efficiency,

       'проекты': projects

   }

def delete_worker():

   surname = input('Введите фамилию сотрудника: ')

   if surname in workers:

       del workers[surname]

   else:

       print('Такого сотрудника нет')

def change_efficiency():

   surname = input('Введите фамилию сотрудника: ')

   if surname in workers:

       efficiency = int(input('Введите новую эффективность сотрудника: '))

       workers[surname]['эффективность'] = efficiency

   else:

       print('Такого сотрудника нет')

while True:

   choice = Menu()

   if choice == 1:

       print_surnames()

   elif choice == 2:

       print_positions()

   elif choice == 3:

       print_most_efficient()

   elif choice == 4:

       add_worker()

   elif choice == 5:

       delete_worker()

   elif choice == 6:

       change_efficiency()

   elif choice == 7:

       break

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Конечно, я помогу вам с этим заданием. Ниже приведен код на Python, который реализует указанные вами функции:

python
# Исходные данные workers = { 'Петров': {'должность': 'младший Разработчик', 'эффективность': 50, 'проекты': ['спанч-боб', 'сайт знакомств']}, 'Бекалиев': {'должность': 'разработчик', 'эффективность': 75, 'проекты': ['гравити-фолз', 'калькулятор']}, 'Сидоров': {'должность': 'Старший разработчик', 'эффективность': 90, 'проекты': ['гайдкий я', 'калькулятор уравнений']} } def display_all_names(): names = list(workers.keys()) return names def display_all_positions(): positions = [workers[name]['должность'] for name in workers] return positions def most_efficient_worker(): most_efficient_name = max(workers, key=lambda name: workers[name]['эффективность']) return most_efficient_name def add_worker(name, position, efficiency, projects): workers[name] = {'должность': position, 'эффективность': efficiency, 'проекты': projects} def remove_worker(name): if name in workers: del workers[name] return f'Сотрудник {name} удален' else: return f'Сотрудник {name} не найден' def update_efficiency(name, efficiency): if name in workers: workers[name]['эффективность'] = efficiency return f'Эффективность сотрудника {name} обновлена' else: return f'Сотрудник {name} не найден' # Пример использования функций print("1. Фамилии всех сотрудников:") print(display_all_names()) print("\n2. Должности всех сотрудников:") print(display_all_positions()) print("\n3. Фамилия самого эффективного сотрудника:") print(most_efficient_worker()) print("\n4. Добавление нового сотрудника:") add_worker('Новый', 'Тестировщик', 80, ['новый проект']) print(workers) print("\n5. Удаление существующего сотрудника:") remove_worker('Петров') print(workers) print("\n6. Изменение эффективности сотрудника по фамилии:") update_efficiency('Бекалиев', 85) print(workers)

В этом коде созданы функции для каждого из пунктов задания, и приведены примеры их использования.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос