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

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

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



Конечно, я помогу вам с этим заданием. Ниже приведен код на 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)
В этом коде созданы функции для каждого из пунктов задания, и приведены примеры их использования.


Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili