📝 Практические задания

⚡ Задания в двух словах

  • 8 вопросов для самопроверки по методам строк и форматированию.
  • 2 практические задачи: очистка строки и проверка на панграмму.
  • 3 задачи из домашнего задания LMS.

🏃 Разминка

Вопрос 1. Какой результат?

text = "2024"
print(text.isdigit())
  • a. True
  • b. False
  • c. Ошибка
  • d. None

Ответ: a — строка состоит только из цифр.

Вопрос 2. Какой результат?

text = "    "
print(text.isspace())
  • a. True
  • b. False
  • c. Ошибка
  • d. None

Ответ: a — строка состоит только из пробелов.

Вопрос 3. Какой результат?

text = "HELLO"
print(text.isupper())
  • a. True
  • b. False
  • c. Ошибка
  • d. None

Ответ: a — все буквы в верхнем регистре.

Вопрос 4. Какой результат?

text = "Python is awesome. Python is dynamic."
print(text.rfind("Python"))
  • a. 19
  • b. 0
  • c. -1
  • d. Ошибка

Ответ: a — индекс последнего вхождения.

Вопрос 5. Какой результат?

text = "Python is awesome."
print(text.index("is"))
  • a. 7
  • b. 10
  • c. -1
  • d. Ошибка

Ответ: a — подстрока "is" начинается с индекса 7.

Вопрос 6. Какой результат?

text = "Python is awesome."
print(text.rindex("Java"))
  • a. -1
  • b. Ошибка
  • c. 0
  • d. None

Ответ: brindex() вызывает ValueError, если подстрока не найдена.

Вопрос 7. Какой результат?

text = "   Python   "
print(text.strip())
  • a. "Python"
  • b. " Python "
  • c. "Python "
  • d. Ошибка

Ответ: astrip() удаляет пробелы с обеих сторон.

Вопрос 8. Какой результат?

text = "apple"
print(" ".join(list(text)))
  • a. "Apple"
  • b. "a p p l e"
  • c. "A,p,p,l,e"
  • d. Ошибка

Ответ: b — символы строки объединяются через пробел.

🏋️ Практические задачи

Задача 1. Удаление лишних символов

Условие: напишите программу, которая создаёт новую строку, удаляя из строки все символы, кроме букв, цифр и пробелов.

Пример вывода:

Введите строку: Hello, World! 2025...
Результат: Hello World 2025

Подсказка: используйте генераторное выражение или цикл с проверкой char.isalnum() и char.isspace().

Задача 2. Проверка на панграмму

Условие: напишите программу, которая проверяет, содержит ли строка все буквы английского алфавита хотя бы по одному разу (игнорируя регистр и пробелы).

Пример вывода:

Введите строку: The quick brown fox jumps over the lazy dog
Панограмма? True

Подсказка: используйте множество уникальных букв строки и сравните с набором букв алфавита.

🏠 Домашнее задание LMS

Задача 1. Звёздочки вместо чисел

Условие: напишите программу, которая заменяет все цифры в строке на звёздочки *.

text = "My number is 123-456-789"

Пример вывода:

Строка: My number is 123-456-789
Результат: My number is ***-***-***

Задача 2. Количество символов

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

text = "Programming in python"

Пример вывода:

Строка: Programming in python
Символ 'p' встречается 2 раз(а)
Символ 'r' встречается 2 раз(а)
Символ 'o' встречается 2 раз(а)
Символ 'g' встречается 2 раз(а)
Символ 'm' встречается 2 раз(а)
Символ 'i' встречается 2 раз(а)
Символ 'n' встречается 3 раз(а)
Символ ' ' встречается 2 раз(а)

Задача 3. Увеличение чисел

Условие: напишите программу, которая заменяет все числа в строке на их эквивалент, умноженный на 10.

text = "I have 5 apples and 10 oranges, price is 0.5 each. Card number is ....3672."

Пример вывода:

I have 50.0 apples and 100.0 oranges, price is 5.0 each. Card number is ....3672.

Примечание: число 3672 в конце строки не заменяется, так как перед ним стоят точки, а не пробелы/границы слова. Это ожидаемое поведение для простого решения.

Проверка понимания

Выберите один вариант ответа. После клика правильный ответ подсветится зелёным.

Вопрос 1

Как лучше использовать summary-урок?

Вопрос 2

Что показывает хороший результат после повторения блока?

Вопрос 3

Какой вопрос стоит задать себе после каждого ответа?

Вопрос 4

Какой стиль имён переменных обычно рекомендует PEP 8?

Вопрос 5

Зачем использовать f-strings в современном Python?

Вопрос 6

Когда полезен ранний возврат из функции?

Вопрос 7

Что делает аннотация типа в Python?

Вопрос 8

Как лучше обрабатывать ожидаемую ошибку преобразования?