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

⚡ Суть задания

Урок 15 — summary-сессия, поэтому основное домашнее задание остаётся в уроках 12 и 14. Здесь — дополнительная репетиция, объединяющая циклы и строки.

Результат: файл review.py, который решает три мини-задачи: переворот строки, проверка палиндрома для строк и подсчёт букв через цикл.

📋 Основные задания

Основное домашнее задание по пройденным темам размещено в соответствующих уроках:

💡 Рекомендация: если какое-то из этих заданий ещё не выполнено, вернитесь к нему сначала. Summary-сессия лучше всего работает, когда базовые темы уже закреплены практикой.

🔄 Дополнительная репетиция

Создайте файл review.py и решите в нём три мини-задачи. Каждая задача должна использовать хотя бы один цикл while и одну строковую операцию.

1

Переворот строки в цикле

Запросите у пользователя строку и выведите её в обратном порядке, используя цикл while (не срез).

Enter a word: Python
Reversed: nohtyP
2

Проверка палиндрома для строк

Запросите строку и определите, является ли она палиндромом. Игнорируйте регистр.

Enter a phrase: Racecar
It is a palindrome.
3

Подсчёт букв через цикл

Запросите строку и букву. Подсчитайте, сколько раз буква встречается в строке. Регистр не учитывайте.

Enter a line: Programming is fun
Enter a letter: n
Letter 'n' occurs 2 times.

✅ Пример решения

📄 review.py
# Task 1: reverse a string using a while loop
text = input("Enter a word: ")
reversed_text = ""
index = len(text) - 1

while index >= 0:
    reversed_text += text[index]
    index -= 1

print(f"Reversed: {reversed_text}")


# Task 2: palindrome check (case-insensitive)
phrase = input("Enter a phrase: ")
clean = phrase.lower()

if clean == clean[::-1]:
    print("It is a palindrome.")
else:
    print("It is not a palindrome.")


# Task 3: count letter occurrences
text = input("Enter a line: ").lower()
letter = input("Enter a letter: ").lower()

count = 0
index = 0
while index < len(text):
    if text[index] == letter:
        count += 1
    index += 1

print(f"Letter '{letter}' occurs {count} times.")

🧪 Как проверить решение

  1. Активируйте venv: venv\Scripts\activate (Windows) или source venv/bin/activate (Mac/Linux).
  2. Запустите файл: python review.py.
  3. Проверьте граничные случаи: пустая строка, одна буква, строка без искомой буквы, палиндром с заглавными буквами.

💡 Советы

  • Для переворота строки вручную начинайте индекс с len(text) - 1 и уменьшайте до 0.
  • При проверке палиндрома приведите строку к нижнему регистру, чтобы регистр не влиял на результат.
  • Не забудьте увеличивать индекс в цикле подсчёта, чтобы избежать бесконечного цикла.