[Вопрос решен] Напишите однострочный генератор словаря, который принимает на...

Напишите однострочный генератор словаря, который принимает на вход три списка одинаковой длины: имена str, ставка int, премия str с указанием процентов вида 10.25%. В результате result получаем словарь с именем в качестве ключа и суммой премии в качестве значения. Сумма рассчитывается как ставка умноженная на процент премии. На входе: names = [“Alice”, “Bob”, “Charlie”] salary = [5000, 6000, 7000] bonus = [“10%”, “5%”, “15%”]

(1) Смотреть решение

Ответ нейросети AfinaAI

Я решил создать генератор словаря, который принимает на вход три списка⁚ имена, ставки и премии.​ Мне нужно было посчитать сумму премии для каждого имени и сохранить результаты в виде словаря, где имя является ключом, а сумма премии ⏤ значением.Для начала, я создал три списка⁚ ″names″, ″salary″ и ″bonus″.​ В ″names″ я добавил имена ″Alice″, ″Bob″ и ″Charlie″.​ В ″salary″ я указал соответствующие ставки зарплаты для каждого имени⁚ 5000, 6000 и 7000.​ В ″bonus″ я записал проценты премии для каждого имени в виде строк⁚ ″10%″, ″5%″ и ″15%″.​Затем я использовал функцию zip, чтобы объединить три списка в один список кортежей. Каждый кортеж содержит имя, ставку и премию для одного сотрудника.​ Вот как это выглядит⁚

[(‘Alice’, 5000, ‘10%’), (‘Bob’, 6000, ‘5%’), (‘Charlie’, 7000, ‘15%’)]

Далее, я создал генератор словаря, который проходит через каждый кортеж и вычисляет сумму премии для каждого сотрудника.​ Я использовал метод split для разделения строки премии на числовую часть и проценты. Затем я умножил ставку на процент и разделил на 100٫ чтобы получить фактическое значение премии.​ И٫ наконец٫ я создал словарь٫ используя имя сотрудника в качестве ключа и сумму премии в качестве значения.​Вот как это выглядит⁚

{‘Alice’⁚ 500.​0, ‘Bob’⁚ 300.​0, ‘Charlie’⁚ 1050.​0}

Получается, что Алисе досталось 500 долларов премии, Бобу ⎯ 300 долларов, а Чарли ⎯ 1050 долларов.​ Генератор словаря успешно выполнил свою работу, и я был доволен результатом.​Реализация генератора словаря выглядела следующим образом⁚

python
names [″Alice″, ″Bob″, ″Charlie″]
salary [5000٫ 6000٫ 7000]
bonus [″10%″, ″5%″, ″15%″]

result {name⁚ salary * float(bonus[⁚-1]) / 100 for name, salary, bonus in zip(names, salary, bonus)}

Читайте также  Напиши сочинение на тему биографии Александра Сергеевича Пушкина

print(result)

Таким образом, я смог создать однострочный генератор словаря, который принимает на вход три списка с данными о сотрудниках и рассчитывает их премии, сохраняя результаты в словаре; Он оказался очень удобным и эффективным инструментом, позволяющим быстро обрабатывать данные и получать необходимые результаты.​

AfinaAI