🎉 Поздравляем! 🎉
Ты отлично справился с задачей! Это был непростой вызов, но ты нашёл правильное решение. Ты на шаг ближе к мастерству в программировании! Продолжай в том же духе, ведь каждый пройденный этап делает тебя ещё сильнее.
PythonLib
Питон для всех
Ты — популярный блогер и хочешь удивить своих подписчиков, опубликовав пост с фразой, написанной задом наперёд. Это выглядит необычно и привлекает внимание!
Задача: Напиши программу, которая получит на вход твоё сообщение (строку) и выведет его в перевёрнутом виде. Учти, что по ошибке ты можешь ничего не ввести. Если строка окажется пустой, программа должна вежливо сообщить об этом, например, фразой "Сообщение не может быть пустым!".
Сообщение для подписчиков (строка).
Перевёрнутое сообщение (строка) или предупреждение, если строка пустая (строка).
Привет, подписчики!
!икищсипдоп ,тевирП
Строка в Python — это упорядоченная последовательность символов. Для создания строки её необходимо заключить в одинарные ('...'), двойные ("...") или даже тройные кавычки ("""...""" или '''...'''), которые особенно полезны для многострочных текстов.
Ключевая особенность строк в Python — их неизменяемость (immutability). Это означает, что после создания строки вы не можете изменить её отдельные символы. Любая операция, которая "изменяет" строку, на самом деле создает новую.
string1 = "Hello, World!"
string2 = 'Python is fun'
# Пример многострочной строки
multiline_string = """Это строка,
которая занимает
несколько строк кода."""
Каждый символ в строке имеет свой уникальный номер, или индекс. Индексация позволяет нам получить доступ к любому отдельному символу.
Важно помнить: Индексация в Python всегда начинается с 0, а не с 1. Попытка обратиться к несуществующему индексу вызовет ошибку IndexError.
w = "Python"
print(w[0]) # Вывод: P
print(w[1]) # Вывод: y
print(w[2]) # Вывод: t
print(w[3]) # Вывод: h
print(w[4]) # Вывод: o (а не 0, как в исходном примере)
Также существует отрицательная индексация, которая очень удобна для доступа к символам с конца строки, где -1 — это последний символ, -2 — предпоследний и так далее.
print(w[-1]) # Вывод: n (последний символ)
print(w[-2]) # Вывод: o (предпоследний символ)
Срезы — это мощный инструмент для извлечения части строки (подстроки). Они позволяют получить не один символ, а целый диапазон.
Общий синтаксис: строка[начало : конец : шаг]
начало : индекс, с которого начинается срез (этот символ включается в результат).конец : индекс, на котором срез заканчивается (этот символ не включается в результат).шаг : определяет, с каким интервалом извлекать символы (по умолчанию равен 1).Извлечение подстроки
string = "Hello, World!"
substring = string[0:5] # Символы с 0 по 4 включительно
print(substring) # Вывод: Hello
Отсутствие начального или конечного индекса Если опустить начальный индекс, срез начнется с самого начала строки. Если опустить конечный — продолжится до самого конца.
string = "Hello, World!"
substring1 = string[:5] # С начала до индекса 5 (не включительно)
substring2 = string[7:] # С индекса 7 и до конца строки
print(substring1) # Вывод: Hello
print(substring2) # Вывод: World!
Использование шага Шаг позволяет "перепрыгивать" через символы. Например, шаг 2 берет каждый второй символ.
string = "Hello, World!"
substring = string[::2] # Каждый второй символ от начала до конца
print(substring) # Вывод: Hlo ol!
Отрицательные индексы в срезах Их можно комбинировать для получения частей строки с конца.
string = "Hello, World!"
substring = string[-6:-1] # Начинаем с 6-го символа с конца и идем до 1-го с конца
print(substring) # Вывод: World
Полезный трюк: переворот строки Самый простой и популярный способ перевернуть строку — это использовать срез с шагом -1.
string = "Hello, World!"
reversed_string = string[::-1]
print(reversed_string) # Вывод: !dlroW ,olleH
Сложение (конкатенация) выполняется с помощью оператора +. Он "склеивает" строки в одну новую.
str1 = "Hello"
str2 = "World"
result = str1 + ", " + str2 + "!"
print(result) # Вывод: Hello, World!
Важный совет: Нельзя складывать строку с числом напрямую. Чтобы это сделать, число нужно сначала преобразовать в строку с помощью функции str().
# print("Age: " + 25) # Вызовет TypeError
print("Age: " + str(25)) # Правильно! Вывод: Age: 25
Умножение выполняется с помощью оператора *, который повторяет строку заданное количество раз. Это удобно для создания разделителей или форматирования.
string = "Go"
result = string * 3
print(result) # Вывод: GoGoGo
print("-" * 20) # Вывод: --------------------
Длина строки Встроенная функция len() возвращает количество символов в строке.
my_string = "Hello"
print(len(my_string)) # Выведет: 5
Проверка на вхождение подстроки Операторы in и not in позволяют проверить, содержится ли одна строка внутри другой. Результатом будет True или False.
Помните: эта проверка чувствительна к регистру! 'd' и 'D' — это разные символы.
name = "Daniil"
password = "Qwerty2000!"
print('D' in name) # Выведет: True
print('d' in name) # Выведет: False
print('3' not in password) # Выведет: True
Строку можно перебрать в цикле for. Есть два основных способа, и выбор зависит от задачи.
Способ 1: Простой перебор (более "питоничный") Этот способ используется, когда вам нужны только сами символы строки. Он проще и читабельнее.
a = "1516 the best"
for char in a: # Переменная char последовательно принимает значение каждого символа
if char in "1234567890":
print(char)
Способ 2: Перебор по индексам Этот способ нужен, когда вам важен не только сам символ, но и его позиция (индекс).
a = "1516 the best"
for i in range(len(a)): # i будет принимать значения от 0 до len(a)-1
if a[i] in "1234567890":
print(f"Найден символ '{a[i]}' на позиции {i}")
Мы рассмотрели базовые, но очень важные операции:
+) и повторение (*) для создания новых строк.Это основа, на которой строится вся работа с текстом в Python. Чтобы двигаться дальше, изучите методы строк. Это встроенные функции, которые позволяют делать со строками еще больше полезных вещей, например:
.lower() / .upper() — привести всю строку к нижнему или верхнему регистру..strip() — убрать пробелы и переносы строк в начале и в конце..replace('старое', 'новое') — заменить все вхождения одной подстроки на другую..split() — разбить строку на список по разделителю (например, по пробелу)..startswith('префикс') / .endswith('суффикс') — проверить, начинается или заканчивается ли строка на определенную последовательность символов.# Получаем строку от пользователя
message = input()
# Проверяем, не является ли введенная строка пустой
if not message:
# Если строка пустая, выводим предупреждение
print("Сообщение не может быть пустым!")
else:
# Создаем пустую строку, в которую будем записывать перевернутый результат
reversed_message = ""
# Запускаем цикл, который перебирает каждый символ в исходном сообщении
for char in message:
# Добавляем текущий символ в НАЧАЛО новой строки
reversed_message = char + reversed_message
# Выводим получившуюся перевернутую строку
print(reversed_message)
🎉 Поздравляем! 🎉
Ты отлично справился с задачей! Это был непростой вызов, но ты нашёл правильное решение. Ты на шаг ближе к мастерству в программировании! Продолжай в том же духе, ведь каждый пройденный этап делает тебя ещё сильнее.
AD
Реклама
Запускаем ваш код...