с python Задание 1. Составьте программу, генерирующую словарь вида а : n*a, где а – целые числа от 1 до 9, а n вводит пользователь.
Задание 2. Есть словарь, в котором каждому автору соответствует список из его произведений (например, «Достоевский»: [«Преступление и наказание», «Братья Карамазовы», «Идиот»]). Напишите программу, которая по введённым автору и произведению, проверяет их соответствие друг другу и выдает пример правильного произведения автора, если пользователь ошибся.
Задание 1. Для решения этой задачи нам нужно написать программу, которая будет генерировать словарь вида а : n*a, где а – целые числа от 1 до 9, а n вводит пользователь.
Вот пошаговое решение:
1. Запросим у пользователя значение n с помощью функции `input()`. Обрати внимание, что пользователь должен ввести только целое число для n.
2. Создадим пустой словарь, который будем заполнять значениями вида а : n*a.
3. Используя цикл `for`, пройдемся по числам от 1 до 9. В каждой итерации цикла будем добавлять пару ключ-значение в словарь.
4. Ключом будет число а, а значением будет результат умножения n на а. Используем оператор умножения `*` для выполнения умножения.
5. Выведем полученный словарь на экран с помощью функции `print()`.
Вот код программы:
```
n = int(input("Введите значение n: "))
dictionary = {}
for a in range(1, 10):
dictionary[a] = n * a
print(dictionary)
```
Теперь, когда ты выполнишь этот код, у тебя будет словарь, где каждому числу а соответствует произведение n*a.
Перейдем к заданию 2. Для его решения нам понадобится словарь, в котором каждому автору соответствует список из его произведений. Также нам нужно будет проверить, соответствуют ли автор и произведение друг другу и выдать пример правильного произведения автора, если пользователь ошибся.
Вот пошаговое решение:
1. Создадим словарь, в котором каждому автору известны его произведения. Например:
```python
books = {
"Достоевский": ["Преступление и наказание", "Братья Карамазовы", "Идиот"],
"Толстой": ["Война и мир", "Анна Каренина"],
"Пушкин": ["Евгений Онегин", "Медный всадник"]
}
```
2. Запросим у пользователя ввод автора и произведения с помощью функции `input()`.
3. Сначала проверим, существует ли введенный автор в нашем словаре. Для этого используем оператор `in` для проверки наличия ключа в словаре.
4. Если автор существует, то проверяем, входит ли введенное произведение в список произведений данного автора. Для этого также используем оператор `in`.
5. Если введенный автор и произведение соответствуют друг другу, выводим сообщение о правильном соответствии.
6. Если пользователь ошибся и введенное произведение не соответствует автору, выводим случайное произведение данного автора с помощью функции `random.choice()`.
Вот код программы:
```python
import random
books = {
"Достоевский": ["Преступление и наказание", "Братья Карамазовы", "Идиот"],
"Толстой": ["Война и мир", "Анна Каренина"],
"Пушкин": ["Евгений Онегин", "Медный всадник"]
}
author = input("Введите автора: ")
book = input("Введите произведение: ")
if author in books:
if book in books[author]:
print("Правильное соответствие!")
else:
correct_book = random.choice(books[author])
print("Неправильное соответствие. Правильное произведение для автора", author, ":", correct_book)
else:
print("Информация об авторе отсутствует.")
```
Теперь, когда ты выполнишь этот код, программа будет проверять соответствие автора и произведения и выдавать пример правильного произведения автора, если пользователь ошибся.
Надеюсь, мой ответ был подробным и понятным для тебя! Если у тебя остались вопросы, не стесняйся задавать. Удачи в изучении программирования!