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

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

(1) Смотреть ответ
Данный ответ сгенерирован автоматически нейросетью, если Вы не нашли ответ на свой вопрос, попробуйте спросить нейросеть самостоятельно, для получения необходимого результата.
Это бесплатно.
Спросить нейросеть бесплатно

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

Привет!​ Сегодня я расскажу о том, как написать однострочный генератор словаря, который принимает на вход три списка одинаковой длины⁚ имена, ставку и премию.​ В результате работы этого генератора мы получим словарь, где имя будет служить ключом, а сумма премии – значением.​Давайте разберемся с самим кодом.​ Входные данные представлены тремя списками⁚ names, salary и bonus, содержащими соответственно имена сотрудников, их зарплаты и проценты премии в виде строк.​1.​ Сначала нам потребуется использовать функцию zip для объединения трех списков в один, чтобы мы могли работать с каждым элементом нашего словаря⁚

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

2. Теперь٫ давайте разберемся٫ как код работает⁚

— Перебираем каждый элемент из трех списков одновременно с помощью zip.
— Используем каждое имя как ключ для словаря и рассчитываем сумму премии, умножая ставку на процент премии (bonus[⁚-1]).​
— Преобразуем значение процента в число, удалив символ ‘%’ с помощью [⁚-1] и преобразовав оставшуюся строку в число с помощью функции float.​

— Результат присваиваем ключу имени в словаре.​

3.​ Итак, мы получаем словарь result, где имена сотрудников служат ключами, а суммы премии – значениями.​

Пример использования⁚

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)

В результате выполнения этого кода вы получите следующий словарь⁚

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

Таким образом, однострочный генератор словаря поможет вам легко создать словарь с именем в качестве ключа и суммой премии в качестве значения, используя списки с именами, ставками и процентами премии.

Читайте также  Какие причины привели страну к Великой российской революции?
Оцените статью
Nox AI
Добавить комментарий