Нам даны данные о 15 сотрудниках предприятия(фамилия, пол, зарплата). Надо определить:
1)фамилию мужчины , у которого самая большая зарплата (считать, что он есть и он один);
2) фамилии мужчины и женщины у которых самая маленькая зарплата (считать, что такие есть и они одни в своей группе сотрудников)
Python
Так, ещё одна интересная задачка
# создаем список словарей с данными о сотрудниках (фамилия, пол, зарплата)
employees = [
{'фамилия': 'Иванов', 'пол': 'м', 'зарплата': 50000},
{'фамилия': 'Петров', 'пол': 'м', 'зарплата': 60000},
{'фамилия': 'Сидорова', 'пол': 'ж', 'зарплата': 45000},
{'фамилия': 'Кузнецова', 'пол': 'ж', 'зарплата': 55000},
{'фамилия': 'Смирнов', 'пол': 'м', 'зарплата': 70000},
{'фамилия': 'Васильев', 'пол': 'м', 'зарплата': 65000},
{'фамилия': 'Морозова', 'пол': 'ж', 'зарплата': 48000},
{'фамилия': 'Новиков', 'пол': 'м', 'зарплата': 75000},
{'фамилия': 'Федорова', 'пол': 'ж', 'зарплата': 42000},
{'фамилия': 'Козлов', 'пол': 'м', 'зарплата': 55000},
{'фамилия': 'Лебедева', 'пол': 'ж', 'зарплата': 52000},
{'фамилия': 'Зайцев', 'пол': 'м', 'зарплата': 58000},
{'фамилия': 'Михайлова', 'пол': 'ж', 'зарплата': 47000},
{'фамилия': 'Андреева', 'пол': 'ж', 'зарплата': 49000},
{'фамилия': 'Королев', 'пол': 'м', 'зарплата': 80000},
]
# 1) находим фамилию мужчины, у которого самая большая зарплата
max_salary_male = max(filter(lambda x: x['пол'] == 'м', employees), key=lambda x: x['зарплата'])
print(f"Фамилия мужчины с самой большой зарплатой: {max_salary_male['фамилия']}")
# 2) находим фамилии мужчины и женщины, у которых самая маленькая зарплата
min_salary_male = min(filter(lambda x: x['пол'] == 'м', employees), key=lambda x: x['зарплата'])
min_salary_female = min(filter(lambda x: x['пол'] == 'ж', employees), key=lambda x: x['зарплата'])
print(f"Фамилия мужчины
employees = [
{'фамилия': 'Иванов', 'пол': 'м', 'зарплата': 50000},
{'фамилия': 'Петров', 'пол': 'м', 'зарплата': 60000},
{'фамилия': 'Сидорова', 'пол': 'ж', 'зарплата': 45000},
{'фамилия': 'Кузнецова', 'пол': 'ж', 'зарплата': 55000},
{'фамилия': 'Смирнов', 'пол': 'м', 'зарплата': 70000},
{'фамилия': 'Васильев', 'пол': 'м', 'зарплата': 65000},
{'фамилия': 'Морозова', 'пол': 'ж', 'зарплата': 48000},
{'фамилия': 'Новиков', 'пол': 'м', 'зарплата': 75000},
{'фамилия': 'Федорова', 'пол': 'ж', 'зарплата': 42000},
{'фамилия': 'Козлов', 'пол': 'м', 'зарплата': 55000},
{'фамилия': 'Лебедева', 'пол': 'ж', 'зарплата': 52000},
{'фамилия': 'Зайцев', 'пол': 'м', 'зарплата': 58000},
{'фамилия': 'Михайлова', 'пол': 'ж', 'зарплата': 47000},
{'фамилия': 'Андреева', 'пол': 'ж', 'зарплата': 49000},
{'фамилия': 'Королев', 'пол': 'м', 'зарплата': 80000},
]
# 1) находим фамилию мужчины, у которого самая большая зарплата
max_salary_male = max(filter(lambda x: x['пол'] == 'м', employees), key=lambda x: x['зарплата'])
print(f"Фамилия мужчины с самой большой зарплатой: {max_salary_male['фамилия']}")
# 2) находим фамилии мужчины и женщины, у которых самая маленькая зарплата
min_salary_male = min(filter(lambda x: x['пол'] == 'м', employees), key=lambda x: x['зарплата'])
min_salary_female = min(filter(lambda x: x['пол'] == 'ж', employees), key=lambda x: x['зарплата'])
print(f"Фамилия мужчины
Александр Санин
прикольно. Пока не видел chatgpt в качестве генератора тестов программы
Представим что это список кортежей.. list[tuples]
Тогда если делать sorted, то
Тогда если делать sorted, то
max(reversed(sorted(list, key=lambda x:x[2])) # из условия зп будет вторым индексом
Если не знаешь про key, почитай tproger "все о сортировке". Так же для min()Похожие вопросы
- Задачка по Python
- Помогите решить задачку в Python (!)
- Решите задачку по программированию, пожалуйста!
- Помогите решите задачку на python
- Задачка по питону, Аннуитетный платёж
- Задачка по пайтону
- Помогите пожалуйста с задачкой на Python
- Срочно помогите решить задачки по Python
- Задачка на Python
- Помогите с задачкой на Python