Пример 1: Перевёрнутая лестница
Рисуем линию из звёздочек убывающей длины с помощью range(height, 0, -1).
📄 examples/reverse_stairs.py
height = int(input("Введите высоту лестницы: "))
for i in range(height, 0, -1):
print("*" * i)
Что происходит:
- Читаем высоту и преобразуем в целое число.
range(height, 0, -1)генерирует числа отheightдо1включительно.- Оператор
*повторяет строку"*"нужное число раз.
Пример 2: Проверка текста на ASCII
Проверяем, что код каждого символа не превышает 127, и прерываем цикл при первом нарушении.
📄 examples/ascii_check.py
text = input("Введите текст: ")
all_ascii = True
for char in text:
if ord(char) > 127:
all_ascii = False
break
print("Все символы ASCII:", all_ascii)
Проверить по документации: в Python есть метод
str.isascii(), который делает то же самое. Для учебной задачи полезно понять логику вручную, но в реальном коде достаточно text.isascii().
Пример 3: Вывод строки с интервалами
Символы выводятся через пробел, но без лишнего пробела в конце. Авторское решение использует индекс и end.
📄 examples/spaced_output.py
text = input("Введите строку: ")
for i in range(len(text)):
if i == len(text) - 1:
print(text[i], end="")
else:
print(text[i], end=" ")
Современный вариант:
📄 examples/spaced_output_modern.py
text = input("Введите строку: ")
print(*text, sep=" ")
Проверить по документации: распаковка аргументов
*text в print() и параметр sep выходят за рамки исходной практики.
Пример 4: Проверка скобок
Считаем баланс открывающих и закрывающих круглых скобок. Если баланс уходит в минус — скобки расставлены неправильно.
📄 examples/parenthesis_balance.py
text = input("Введите строку: ")
balance = 0
for char in text:
if char == "(":
balance += 1
elif char == ")":
balance -= 1
if balance < 0:
break
print("Скобки расставлены правильно?", balance == 0)
Пример 5: Проверка палиндрома с фильтрацией
Оставляем только русские и английские буквы, приводим к нижнему регистру и сравниваем строку с её перевёрнутой копией.
📄 examples/palindrome_filter.py
text = input("Введите строку: ")
filtered_text = ""
for char in text:
if ("A" <= char <= "Z") or ("a" <= char <= "z") or \
("А" <= char <= "Я") or ("а" <= char <= "я"):
if "A" <= char <= "Z":
char = chr(ord(char) + 32)
elif "А" <= char <= "Я":
char = chr(ord(char) + 32)
filtered_text += char
is_palindrome = filtered_text == filtered_text[::-1]
print("Палиндром?", is_palindrome)
Проверить по документации: методы
str.isalpha() и str.lower() распознают буквы любого алфавита и позволяют записать фильтрацию короче. Это выходит за рамки исходной практики, но рекомендуется в современном коде.
Как запустить в VS Code
- Создайте файл
example.pyв папке урока. - Скопируйте код из примера выше.
- Откройте терминал в VS Code (Ctrl + `).
- Убедитесь, что активировано виртуальное окружение:
venv\Scripts\activate(Windows) илиsource venv/bin/activate(Mac/Linux). - Запустите:
python example.py