Рекомендуется решать задачи по порядку — от простых к более сложным.
Используй базовые конструкции Python: списки, словари, множества, кортежи, условия, циклы, функции, ввод и вывод.
Найди все простые числа в диапазоне от 2 до 1000.
Пользователь вводит строку. Создай словарь, где:
- ключ — символ строки,
- значение — количество его вхождений.
Создай два словаря и объедини их в один.
Удалить ключ из словаря по введённому пользователем значению ключа.
Подсчитать количество уникальных слов в предложении. Сохранить их в словарь.
Принимается список слов. Вернуть словарь, где ключ — длина слова, а значение — список слов этой длины.
Удалить из словаря все элементы, ключи которых начинаются с определённого символа.
Список словарей с данными о трёх книгах (автор, название, год). Вывести книгу с самым ранним годом издания.
Список словарей: имя, рост, возраст, вес. Пользователь выбирает параметр, программа находит имя с максимумом по этому параметру.
Словарь: магазин → список товаров. Найти самый дешёвый товар среди всех.
Словарь: страна → {население, площадь}. Найти страну с наименьшей площадью.
Вывести все уникальные символы в строке.
Найти все уникальные слова в тексте и вывести их по алфавиту.
Создай множество из чисел от 1 до 10. Удали чётные.
Определи, содержатся ли все элементы одного множества в другом.
Кортеж с числами → найти min, max, среднее значение.
Вывести элементы кортежа в обратном порядке.
Кортеж строк → вернуть кортеж перевёрнутых строк.
Кортеж чисел, число N → найти все пары, сумма которых равна N.
Вернуть новый кортеж только с чётными числами.
Кортеж имён → вывести самое длинное.
Кортеж чисел → вернуть кортеж только уникальных элементов.
Список кортежей из двух строк → сделать словарь {первый: второй}.
Словарь, где значения — множества. Найти их пересечение.
Кортеж, содержащий множества → найти объединение всех.
Преобразовать строку в множество. Вернуть кортеж: (длина, количество гласных).
Два словаря: ключи — числа, значения — множества. Объединить множества с одинаковыми ключами.
Словарь: значения — множества или кортежи. Вывести все уникальные элементы.
Напиши функцию multiplication_table(n), которая печатает таблицу умножения до n.
Функция find_max(*args) возвращает максимальное значение из всех переданных чисел.
Функция group_by_length(words: list[str]) -> dict[int, list[str]].
Пользователь вводит строку. Посчитать частоту символов и сохранить словарь в текстовый файл.
Файл содержит список строк. Прочитать строки, отсортировать по длине и сохранить в другой файл.
Файл содержит текст. Найти и вывести отсортированный список уникальных слов.
Список словарей + список ключей → вернуть только уникальные словари по этим ключам.
Если: list_of_dicts = [ { "name": "Vlad", "age": 30, "city": "Prague" }, { "name": "Stas", "age": 30, "city": "Prague" }, { "name": "Vlad", "age": 25, "city": "Prague" }, { "name": "Vlad", "age": 30, "city": "Berlin" } ]
И:
list_of_keys = ["name", "age"]
То:
result = [
{
"name": "Vlad",
"age": 30,
"city": "Prague"
},
{
"name": "Stas",
"age": 30,
"city": "Prague"
},
{
"name": "Vlad",
"age": 25,
"city": "Prague"
}
]
Если ключи:
list_of_keys = ["age", "city"]
То:
result = [
{
"name": "Vlad",
"age": 30,
"city": "Prague"
},
{
"name": "Vlad",
"age": 25,
"city": "Prague"
}, {
"name": "Vlad",
"age": 30,
"city": "Berlin"
}
]
Если ключи:
list_of_keys = ["name", "city"]
то:
result = [
{
"name": "Vlad",
"age": 30,
"city": "Prague"
},
{
"name": "Stas",
"age": 30,
"city": "Prague"
},
{
"name": "Vlad",
"age": 30,
"city": "Berlin"
}
]
Купюры: [1, 2, 5, 10, 20, 50, 100, 200, 500]
Сумма выдаётся минимальным количеством купюр, но не более 10 купюр одного номинала.
Допустим существуют купюры [1, 2, 5, 10, 20, 50, 100, 200, 500]
Пользователь вводит 16
You need:
banknote 1, 10 times
banknote 2, 3 times
Пользователь вводит 123
You need:
banknote 1, 10 times
banknote 2, 9 times
banknote 5, 9 times
banknote 10, 5 times
Пользователь вводит 1234
You need:
banknote 1, 9 times
banknote 2, 10 times
banknote 5, 9 times
banknote 10, 10 times
banknote 20, 8 times
banknote 50, 10 times
banknote 100, 4 times