🎉 Поздравляем! 🎉
Ты отлично справился с задачей! Это был непростой вызов, но ты нашёл правильное решение. Ты на шаг ближе к мастерству в программировании! Продолжай в том же духе, ведь каждый пройденный этап делает тебя ещё сильнее.
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('суффикс') — проверить, начинается или заканчивается ли строка на определенную последовательность символов.# Запрашиваем у пользователя название первого сериала
series1 = input()
# Запрашиваем у пользователя название второго сериала
series2 = input()
# Создаем пустую строку, чтобы записать в нее первое слово
first_word = ""
# Запускаем цикл for, который перебирает каждый символ в названии первого сериала
for char in series1:
# Проверяем условие: если текущий символ - это пробел
if char == ' ':
# Если это пробел, то мы нашли конец первого слова, выходим из цикла
break
# Если это не пробел, добавляем символ к нашему слову
first_word += char
# Проверяем условие: если мы смогли получить первое слово и второй сериал не пустой
if first_word and series2:
# Соединяем (конкатенируем) первое слово, пробел и название второго сериала
new_title = first_word + " " + series2
# Выводим результат на экран
print(new_title)
else:
# Если одно из полей было пустым, выводим сообщение об ошибке
print("Ошибка: необходимо ввести оба названия сериалов.")
🎉 Поздравляем! 🎉
Ты отлично справился с задачей! Это был непростой вызов, но ты нашёл правильное решение. Ты на шаг ближе к мастерству в программировании! Продолжай в том же духе, ведь каждый пройденный этап делает тебя ещё сильнее.
AD
Реклама
Запускаем ваш код...