🏃 Разминка: методы строк
Вопрос 1. Какой результат?
text = "Python3"
print(text.isalpha())
- a.
True - b.
False - c. Ошибка
- d.
None
Ответ: b — цифра 3 делает результат False.
Вопрос 2. Какой результат?
text = "Hello World"
print(text.istitle())
- a.
True - b.
False - c. Ошибка
- d.
None
Ответ: a — оба слова начинаются с заглавной буквы.
Вопрос 3. Какой результат?
text = "Python is awesome. Python is dynamic."
print(text.find("is"))
- a. 23
- b. 7
- c. 8
- d. -1
Ответ: b — первое вхождение "is" начинается с индекса 7.
Вопрос 4. Какой результат?
text = "33333"
print(text.count("33"))
- a. 1
- b. 2
- c. 3
- d. 5
Ответ: b — непересекающиеся вхождения: 33|333 → 2.
Вопрос 5. Какой результат?
text = "Hello, worlD!"
print(text.swapcase())
- a.
"HELLO, WORLD!" - b.
"HELLO, WORLd!" - c.
"hELLO, WORLd!" - d.
"hELLO, WORLD!"
Ответ: c — регистр каждого символа меняется на противоположный.
Вопрос 6. Какой результат?
text = "Python, Java, C++"
languages = text.split(",")
print(languages)
- a.
['Python', 'Java', 'C++'] - b.
['Python', ' Java', ' C++'] - c.
['Python Java C++'] - d. список символов
Ответ: b — разделитель "," не удаляет пробелы после себя.
🏋️ Раздел тренировки
В этом разделе вы пошагово выполните практические задания из источника.
📂 Подготовка проекта
- Создайте папку урока внутри
python-fundamentals-practice/lesson-21/. - Активируйте виртуальное окружение.
- Создайте файлы для задач практикума:
task_01_sum.py,task_02_reverse.pyи т.д.
Задание 1. Сложение чисел
Условие: напишите программу, которая принимает строку с числами через пробел и выводит сумму всех чисел.
Пример вывода:
Введите список чисел через пробел: 1 2 3 4 5
Сумма чисел: 15
Подсказка: используйте split(), int() и sum().
Задание 2. Обратный список
Условие: напишите программу, которая принимает строку с числами через пробел и выводит список чисел в обратном порядке. В списке должны быть числа, а не строки.
Пример вывода:
Введите список чисел через пробел: 1 2 3 4 5
Обратный список: [5, 4, 3, 2, 1]
Подсказка: преобразуйте каждый элемент в int, затем используйте срез [::-1].
Задание 3. Сумма чётных и нечётных чисел
Условие: напишите программу, которая подсчитывает сумму чётных и нечётных чисел в списке по отдельности.
numbers = [-1, 8, 2, 0, -3, -9, -1, 10, 7, -4]
Пример вывода:
Изначальный список: [-1, 8, 2, 0, -3, -9, -1, 10, 7, -4]
Сумма чётных: 16
Сумма нечётных: -7
Задание 4. Максимальное число
Условие: напишите программу, которая выводит наибольшее число в списке, не используя встроенную функцию max(), а также его индекс в списке.
numbers = [3, 12, 8, 22, 9, 25, 6, 23, 8, 7]
Пример вывода:
Список чисел: [3, 12, 8, 22, 9, 25, 6, 23, 8, 7]
Наибольшее число: 25
Индекс числа: 5
Задание 5. Перестановка соседних элементов
Условие: напишите программу, которая меняет местами соседние элементы списка.
numbers = [1, 2, 3, 4, 5]
Пример вывода:
Изначальный список: [1, 2, 3, 4, 5]
Список после перестановки: [2, 1, 4, 3, 5]
Задание 6. Числа и слова
Условие: напишите программу, которая обрабатывает строку, содержащую слова и целые числа, разделённые пробелами. Числа преобразуются в int, остальные элементы остаются строками и начинаются с заглавной буквы.
text = "apple 42 banana 3 100 orange"
Пример вывода:
Изначальная строка: apple 42 banana 3 100 orange
Результат: ['Apple', 42, 'Banana', 3, 100, 'Orange']
Задание 7. Кодирование строки
Условие: напишите программу, которая принимает строку и кодирует её по правилу RLE: каждая последовательность одинаковых символов заменяется на символ и количество повторений.
Пример вывода:
Введите строку: aaaabbc
Закодированная строка: a4b2c1
Задание 8. Проверка формата email
Условие: напишите программу, которая проверяет, начинается ли строка с буквы, содержит ли символ @ и заканчивается ли на .com или .de.
Пример вывода:
Введите email: user@example.com
Корректный формат? True
Задание 9. Звёздочки вместо чисел
Условие: напишите программу, которая заменяет все цифры в строке на звёздочки *.
Пример вывода:
Введите строку: My number is 123-456-789
Результат: My number is ***-***-***
Задание 10. Развернуть слова
Условие: напишите программу, которая разворачивает каждое слово в строке, сохраняя их порядок.
Пример вывода:
Введите строку: Python is fun
Результат: nohtyP si nuf
Задание 11. Количество символов
Условие: напишите программу, которая подсчитывает количество букв, цифр и пробелов в строке. Также выведите количество остальных символов.
Пример вывода:
Введите строку: Python 3.12 is awesome!
Буквы: 15
Цифры: 3
Пробелы: 3
Остальные символы: 2
Задание 12. По одному пробелу
Условие: напишите программу, которая удаляет в строке лишние пробелы, оставляя только по одному пробелу между словами.
text = " Hello, World! How are you? "
Пример вывода:
Строка: ' Hello, World! How are you? '
Результат: 'Hello, World! How are you?'
Задание 13. Все позиции подстроки
Условие: напишите программу, которая ищет подстроку в строке и выводит все индексы начала вхождения подстроки.
Пример вывода:
Строка: Banana bAnana baNAna
Подстрока: ban
Позиция: 0
Позиция: 7
Позиция: 14
Подсказка: используйте цикл с find() и третьим аргументом — началом поиска.
Задание 14. Корректные имена
Условие: напишите программу, которая обрабатывает список строк (имён) и выводит только корректные имена. Корректное имя начинается с заглавной буквы и состоит только из букв.
names = ["Alice", "bob", "Charlie", "dave", "Eva", "Frank123"]
Пример вывода:
Имена с заглавной буквы и без цифр:
Alice
Charlie
Eva
Задание 15. Квадрат чисел
Условие: напишите программу, которая обрабатывает строку и заменяет все вхождения чисел в строке на их квадрат, оставляя другие части строки неизменными.
text = "I have 2 apples and 4 bananas"
Пример вывода:
I have 4 apples and 16 bananas