🐍 Π‘Π°ΠΌΠΎΡƒΡ‡ΠΈΡ‚Π΅Π»ΡŒ ΠΏΠΎ Python для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…. Π§Π°ΡΡ‚ΡŒ 4. ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ со строками

Π Π°Π·Π±Π΅Ρ€Π΅ΠΌ самыС ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с тСкстовыми Π΄Π°Π½Π½Ρ‹ΠΌΠΈ: ΡƒΠ·Π½Π°Π΅ΠΌ, ΠΊΠ°ΠΊ ΠΈΡΠΊΠ°Ρ‚ΡŒ, Π·Π°ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΈ ΠΏΠΎΠ΄ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ символы, ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ рСгистр ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ, ΠΈΠ· ΠΊΠ°ΠΊΠΈΡ… элСмСнтов состоят строки. Π’ ΠΊΠΎΠ½Ρ†Π΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ – 10 Π·Π°Π΄Π°Ρ‡ для Ρ‚Ρ€Π΅Π½ΠΈΡ€ΠΎΠ²ΠΊΠΈ.

ВСкстовыС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ str Π² ΠŸΠΈΡ‚ΠΎΠ½Π΅

Π‘Ρ‚Ρ€ΠΎΠΊΠΎΠ²Ρ‹ΠΉ Ρ‚ΠΈΠΏ str Π² Python ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π»ΡŽΠ±Ρ‹ΠΌΠΈ тСкстовыми Π΄Π°Π½Π½Ρ‹ΠΌΠΈ. Python автоматичСски опрСдСляСт Ρ‚ΠΈΠΏ str ΠΏΠΎ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠ°ΠΌ – ΠΎΠ΄ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΌ ΠΈΠ»ΠΈ Π΄Π²ΠΎΠΉΠ½Ρ‹ΠΌ:

>>> stroka = 'Python'
>>> type(stroka)
<class 'str'>
>>> stroka2 = "code"
>>> type(stroka2)
<class 'str'>

Для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΌΠ½ΠΎΠ³ΠΈΡ… Π·Π°Π΄Π°Ρ‡ ΡΡ‚Ρ€ΠΎΠΊΠΎΠ²ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Π½ΡƒΠΆΠ½ΠΎ ΠΎΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ Π·Π°Ρ€Π°Π½Π΅Π΅, Π΄ΠΎ Π½Π°Ρ‡Π°Π»Π° исполнСния основной части ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΡƒΡΡ‚ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ str просто:

stroka = ''

Или:

stroka2 = ""

Если Π² самой строкС Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ – Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для названия ΠΊΠ½ΠΈΠ³ΠΈ – Ρ‚ΠΎ ΠΎΠ΄ΠΈΠ½ Π²ΠΈΠ΄ ΠΊΠ°Π²Ρ‹Ρ‡Π΅ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ для строки, Π²Ρ‚ΠΎΡ€ΠΎΠΉ – для выдСлСния названия:

>>> print("'Π‘Π°ΠΌΠΎΡƒΡ‡ΠΈΡ‚Π΅Π»ΡŒ Python' - Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π»ΡƒΡ‡ΡˆΠΈΠΉ справочник ΠΏΠΎ ΠŸΠΈΡ‚ΠΎΠ½Ρƒ.")
'Π‘Π°ΠΌΠΎΡƒΡ‡ΠΈΡ‚Π΅Π»ΡŒ Python' - Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π»ΡƒΡ‡ΡˆΠΈΠΉ справочник ΠΏΠΎ ΠŸΠΈΡ‚ΠΎΠ½Ρƒ.
>>> print('"Π‘Π°ΠΌΠΎΡƒΡ‡ΠΈΡ‚Π΅Π»ΡŒ Python" - Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π»ΡƒΡ‡ΡˆΠΈΠΉ справочник ΠΏΠΎ ΠŸΠΈΡ‚ΠΎΠ½Ρƒ.')
"Π‘Π°ΠΌΠΎΡƒΡ‡ΠΈΡ‚Π΅Π»ΡŒ Python" - Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π»ΡƒΡ‡ΡˆΠΈΠΉ справочник ΠΏΠΎ ΠŸΠΈΡ‚ΠΎΠ½Ρƒ.

ИспользованиС ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ Π²ΠΈΠ΄Π° ΠΊΠ°Π²Ρ‹Ρ‡Π΅ΠΊ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΈ снаруТи строки Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ:

>>> print(""Π‘Π°ΠΌΠΎΡƒΡ‡ΠΈΡ‚Π΅Π»ΡŒ Python" - Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π»ΡƒΡ‡ΡˆΠΈΠΉ справочник ΠΏΠΎ ΠŸΠΈΡ‚ΠΎΠ½Ρƒ.")
  File "<pyshell>", line 1
    print(""Π‘Π°ΠΌΠΎΡƒΡ‡ΠΈΡ‚Π΅Π»ΡŒ Python" - Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π»ΡƒΡ‡ΡˆΠΈΠΉ справочник ΠΏΠΎ ΠŸΠΈΡ‚ΠΎΠ½Ρƒ.")
                      ^
SyntaxError: invalid syntax

ΠšΡ€ΠΎΠΌΠ΅ Π΄Π²ΠΎΠΉΠ½Ρ‹Ρ… " ΠΈ ΠΎΠ΄ΠΈΠ½Π°Ρ€Π½Ρ‹Ρ… ΠΊΠ°Π²Ρ‹Ρ‡Π΅ΠΊ ', Π² Python ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΈ Ρ‚Ρ€ΠΎΠΉΠ½Ρ‹Π΅ ''' – Π² Π½ΠΈΡ… Π·Π°ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ тСкст, состоящий ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… строк, ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄:

>>> print('''Π’ Ρ‚Ρ€ΠΎΠΉΠ½Ρ‹Π΅ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ Π·Π°ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ многострочный тСкст.
ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ Ρ‚Ρ€ΠΎΠΉΠ½Ρ‹ΠΌΠΈ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠ°ΠΌΠΈ.''')
Π’ Ρ‚Ρ€ΠΎΠΉΠ½Ρ‹Π΅ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ Π·Π°ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ многострочный тСкст.
ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ Ρ‚Ρ€ΠΎΠΉΠ½Ρ‹ΠΌΠΈ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠ°ΠΌΠΈ.

Π”Π»ΠΈΠ½Π° строки len Π² Python

Для опрСдСлСния Π΄Π»ΠΈΠ½Ρ‹ строки ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ встроСнная функция len(). Она подсчитываСт ΠΎΠ±Ρ‰Π΅Π΅ количСство символов Π² строкС, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹:

>>> stroka = 'python'
>>> print(len(stroka))
6
>>> stroka1 = ' '
>>> print(len(stroka1))
1

ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… Π² строку

Π¦Π΅Π»Ρ‹Π΅ ΠΈ вСщСствСнныС числа ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‚ΡΡ Π² строки ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ:

>>> number1 = 55
>>> number2 = 55.5
>>> stroka1 = str(number1)
>>> stroka2 = str(number2)
>>> print(type(stroka1))
<class 'str'>
>>> print(type(stroka2))
<class 'str'>

РСшСниС ΠΌΠ½ΠΎΠ³ΠΈΡ… Π·Π°Π΄Π°Ρ‡ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ упрощаСтся, Ссли Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с числами Π² строковом Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅. ОсобСнно это касаСтся Π·Π°Π΄Π°Π½ΠΈΠΉ, Π³Π΄Π΅ Π½ΡƒΠΆΠ½ΠΎ Ρ€Π°Π·Π΄Π΅Π»ΡΡ‚ΡŒ числа Π½Π° разряды – сотни, дСсятки ΠΈ Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹.

Π‘Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ строк

Как ΡƒΠΆΠ΅ ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π»ΠΎΡΡŒ Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ Π³Π»Π°Π²Π΅, строки ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ»Π°Π΄Ρ‹Π²Π°Ρ‚ΡŒ – эта опСрация Ρ‚Π°ΠΊΠΆΠ΅ извСстна ΠΊΠ°ΠΊ конкатСнация:

>>> str1 = 'Python'
>>> str2 = ' - '
>>> str3 = 'самый Π³ΠΈΠ±ΠΊΠΈΠΉ язык программирования'
>>> print(str1 + str2 + str3)
Python - самый Π³ΠΈΠ±ΠΊΠΈΠΉ язык программирования

ΠŸΡ€ΠΈ нСобходимости строку ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΌΠ½ΠΎΠΆΠΈΡ‚ΡŒ Π½Π° Ρ†Π΅Π»ΠΎΠ΅ число – эта опСрация называСтся Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠ΅ΠΉ:

>>> stroka = '*** '
>>> print(stroka * 5)
*** *** *** *** ***

ΠŸΠΎΠ΄ΡΡ‚Ρ€ΠΎΠΊΠΈ

ΠŸΠΎΠ΄ΡΡ‚Ρ€ΠΎΠΊΠΎΠΉ называСтся Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ строки. НапримСр, 'abra' являСтся подстрокой 'abrakadabra'. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, Π²Ρ…ΠΎΠ΄ΠΈΡ‚ Π»ΠΈ какая-Ρ‚ΠΎ опрСдСлСнная подстрока Π² строку, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ in:

>>> stroka = 'abrakadabra'
>>> print('abra' in stroka)
True
>>> print('zebra' in stroka)
False

Π˜Π½Π΄Π΅ΠΊΡΠ°Ρ†ΠΈΡ строк Π² Python

Для обращСния ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ символу строки ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ индСкс – порядковый Π½ΠΎΠΌΠ΅Ρ€ элСмСнта. Python ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π΄Π²Π° Ρ‚ΠΈΠΏΠ° индСксации – ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ, ΠΏΡ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ отсчСт элСмСнтов начинаСтся с 0 ΠΈ с Π½Π°Ρ‡Π°Π»Π° строки, ΠΈ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΡƒΡŽ, ΠΏΡ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ отсчСт начинаСтся с -1 ΠΈ с ΠΊΠΎΠ½Ρ†Π°:

ΠŸΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ индСксы 0 1 2 3 4 5 6
ΠŸΡ€ΠΈΠΌΠ΅Ρ€ строки P r o g l i b
ΠžΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ индСксы -7 -6 -5 -4 -3 -2 -1

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ элСмСнт строки, Π½ΡƒΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π΅Π³ΠΎ индСкс Π² ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Ρ… скобках:

>>> stroka = 'ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅'
>>> print(stroka[7])
ΠΌ
>>> print(stroka[-1])
Π΅

Π‘Ρ€Π΅Π·Ρ‹ строк Π² Python

Π˜Π½Π΄Π΅ΠΊΡΡ‹ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ элСмСнтами строк. Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с подстроками ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ срСзы, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… задаСтся Π½ΡƒΠΆΠ½Ρ‹ΠΉ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½:

>>> stroka = 'ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅'
>>> print(stroka[7:10])
ΠΌΠΈΡ€

Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ срСза [a:b] начинаСтся с ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ элСмСнта Π° Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ, ΠΈ заканчиваСтся Π½Π° послСднСм, Π½Π΅ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ b Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚:

>>> stroka = 'ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌa'
>>> print(stroka[3:8])
Π³Ρ€Π°ΠΌΠΌ

Если Π½Π΅ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ элСмСнт Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° [:b], срСз Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ с Π½Π°Ρ‡Π°Π»Π° строки Π΄ΠΎ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ элСмСнта b:

>>> stroka = 'ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌa'
>>> print(stroka[:4])
ΠΏΡ€ΠΎΠ³

Π’ случаС отсутствия Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ элСмСнта [a:] срСз Π±ΡƒΠ΄Π΅Ρ‚ сдСлан с ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ символа ΠΈ Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π° строки:

>>> stroka = 'ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌa'
>>> print(stroka[3:])
Π³Ρ€Π°ΠΌΠΌa

Если Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½Π° Π½ΠΈ стартовая, Π½ΠΈ Ρ„ΠΈΠ½Π°Π»ΡŒΠ½Π°Ρ позиция срСза, ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π²Π΅Π½ исходной строкС:

>>> stroka = 'ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ Π½Π΅ Π·Π°Π΄Π°Π½Ρ‹'
>>> print(stroka[:])
ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ Π½Π΅ Π·Π°Π΄Π°Π½Ρ‹

Π¨Π°Π³ срСза

Помимо Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°, ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ шаг срСза. Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π½ΠΈΠΆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ выбираСтся символ ΠΈΠ· стартовой ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ срСза, Π° Π·Π°Ρ‚Π΅ΠΌ каТдая 3-я Π±ΡƒΠΊΠ²Π° ΠΈΠ· Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°:

>>> stroka = 'Python Π»ΡƒΡ‡ΡˆΠ΅ всСго ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ².'
>>> print(stroka[1:15:3])
yoлшв

Π¨Π°Π³ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ – Π² этом случаС символы Π±ΡƒΠ΄ΡƒΡ‚ Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒΡΡ, начиная с ΠΊΠΎΠ½Ρ†Π° строки:

>>> stroka = 'это ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ шага'
>>> print(stroka[-1:-15:-4])
Π° Π½Ρ‚

Π‘Ρ€Π΅Π· [::-1] ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌ ΠΏΡ€ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΈ Π·Π°Π΄Π°Ρ‡, связанных с ΠΏΠ°Π»ΠΈΠ½Π΄Ρ€ΠΎΠΌΠ°ΠΌΠΈ:

>>> stroka = 'А Ρ€ΠΎΠ·Π° ΡƒΠΏΠ°Π»Π° Π½Π° Π»Π°ΠΏΡƒ Азора'
>>> print(stroka[::-1])
арозА ΡƒΠΏΠ°Π» Π°Π½ Π°Π»Π°ΠΏΡƒ Π°Π·ΠΎΡ€ А

Π—Π°ΠΌΠ΅Π½Π° символа Π² строкС

Π‘Ρ‚Ρ€ΠΎΠΊΠΈ Π² Python относятся ΠΊ нСизмСняСмым Ρ‚ΠΈΠΏΠ°ΠΌ Π΄Π°Π½Π½Ρ‹Ρ…. По этой ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° Π·Π°ΠΌΠ΅Π½Ρ‹ символа ΠΏΠΎ индСксу ΠΎΠ±Ρ€Π΅Ρ‡Π΅Π½Π° Π½Π° ΠΏΡ€ΠΎΠ²Π°Π»:

>>> stroka = 'mall'
>>> stroka[0] = 'b'
Traceback (most recent call last):
  File "<pyshell>", line 1, in <module>
TypeError: 'str' object does not support item assignment

Но Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ любой символ всС-Ρ‚Π°ΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ – для этого придСтся Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ срСзами ΠΈ ΠΊΠΎΠ½ΠΊΠ°Ρ‚Π΅Π½Π°Ρ†ΠΈΠ΅ΠΉ. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ станСт новая строка:

>>> stroka = 'mall'
>>> stroka = 'b' + stroka[1:]
>>> print(stroka)
ball

Π‘ΠΎΠ»Π΅Π΅ простой способ Β«Π·Π°ΠΌΠ΅Π½Ρ‹Β» символа ΠΈΠ»ΠΈ подстроки – использованиС ΠΌΠ΅Ρ‚ΠΎΠ΄Π° replace(), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ рассмотрим Π½ΠΈΠΆΠ΅.

ΠŸΠΎΠ»Π΅Π·Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ строк

Python прСдоставляСт мноТСство ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с тСкстовыми Π΄Π°Π½Π½Ρ‹ΠΌΠΈ. ВсС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π² Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ:

  • ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ строк.
  • ΠžΡ†Π΅Π½ΠΊΠ° ΠΈ классификация строк.
  • ΠšΠΎΠ½Π²Π΅Ρ€Ρ‚Π°Ρ†ΠΈΡ рСгистра.
  • Поиск, подсчСт ΠΈ Π·Π°ΠΌΠ΅Π½Π° символов.

Рассмотрим эти ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅.

ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ строк

Π’Ρ€ΠΈ самых ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΠΈΠ· этой Π³Ρ€ΡƒΠΏΠΏΡ‹ – join(), split() ΠΈ partition(). ΠœΠ΅Ρ‚ΠΎΠ΄ join() Π½Π΅Π·Π°ΠΌΠ΅Π½ΠΈΠΌ, Ссли Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ список ΠΈΠ»ΠΈ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ Π² строку:

>>> spisok = ['Π―', 'ΠΈΠ·ΡƒΡ‡Π°ΡŽ', 'Python']
>>> stroka = ' '.join(spisok)
>>> print(stroka)
Π― ΠΈΠ·ΡƒΡ‡Π°ΡŽ Python

ΠŸΡ€ΠΈ объСдинСнии списка ΠΈΠ»ΠΈ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ° Π² строку ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π»ΡŽΠ±Ρ‹Π΅ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΠΈ:

>>> kort = ('Π―', 'ΠΈΠ·ΡƒΡ‡Π°ΡŽ', 'Django')
>>> stroka = '***'.join(kort)
>>> print(stroka)
Π―***ΠΈΠ·ΡƒΡ‡Π°ΡŽ***Django

ΠœΠ΅Ρ‚ΠΎΠ΄ split() ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ манипуляции – прСобразования строки Π² список:

>>> text = 'это ΠΏΡ€ΠΈΠΌΠ΅Ρ€ тСкста для прСобразования Π² список'
>>> spisok = text.split()
>>> print(spisok)
['это', 'ΠΏΡ€ΠΈΠΌΠ΅Ρ€', 'тСкста', 'для', 'прСобразования', 'Π²', 'список']

По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ split() Ρ€Π°Π·Π±ΠΈΠ²Π°Π΅Ρ‚ строку ΠΏΠΎ ΠΏΡ€ΠΎΠ±Π΅Π»Π°ΠΌ. Но ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ любой Π΄Ρ€ΡƒΠ³ΠΎΠΉ символ – ΠΈ Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ это часто трСбуСтся:

>>> text = 'Ρ†Π²Π΅Ρ‚: синий; вСс: 1 ΠΊΠ³; Ρ€Π°Π·ΠΌΠ΅Ρ€: 30Ρ…30Ρ…50; ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»: ΠΊΠ°Ρ€Ρ‚ΠΎΠ½'
>>> spisok = text.split(';')
>>> print(spisok)
['Ρ†Π²Π΅Ρ‚: синий', ' вСс: 1 ΠΊΠ³', ' Ρ€Π°Π·ΠΌΠ΅Ρ€: 30Ρ…30Ρ…50', ' ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»: ΠΊΠ°Ρ€Ρ‚ΠΎΠ½']

ΠœΠ΅Ρ‚ΠΎΠ΄ partition() ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ строку Π² ΠΊΠΎΡ€Ρ‚Π΅ΠΆ:

>>> text = 'Python - простой ΠΈ понятный язык'
>>> kort = text.partition('ΠΈ')
>>> print(kort)
('Python - простой ', 'ΠΈ', ' понятный язык')

Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ split(), partition() ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠ΅Ρ€Π²ΠΎΠ΅ Π²Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ элСмСнта-раздСлитСля (ΠΈ добавляСт Π΅Π³ΠΎ Π² ΠΈΡ‚ΠΎΠ³ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ).

ΠžΡ†Π΅Π½ΠΊΠ° ΠΈ классификация строк

Π’ Python ΠΌΠ½ΠΎΠ³ΠΎ встроСнных ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² для ΠΎΡ†Π΅Π½ΠΊΠΈ ΠΈ классификации тСкстовых Π΄Π°Π½Π½Ρ‹Ρ…. НСкоторыС ΠΈΠ· этих ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ со строками, Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹. К послСдним относятся, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ min() ΠΈ max():

>>> text = '12345'
>>> print(min(text))
1
>>> print(max(text))
5

Π’ Python Π΅ΡΡ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ для опрСдСлСния Ρ‚ΠΈΠΏΠ° символов. НапримСр, isalnum() ΠΎΡ†Π΅Π½ΠΈΠ²Π°Π΅Ρ‚, состоит Π»ΠΈ строка ΠΈΠ· Π±ΡƒΠΊΠ² ΠΈ Ρ†ΠΈΡ„Ρ€, Π»ΠΈΠ±ΠΎ Π² Π½Π΅ΠΉ Π΅ΡΡ‚ΡŒ ΠΊΠ°ΠΊΠΈΠ΅-Ρ‚ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ символы:

>>> text = 'abracadabra123456'
>>> print(text.isalnum())
True
>>> text1 = 'a*b$ra cadabra'
>>> print(text1.isalnum())
False

ΠœΠ΅Ρ‚ΠΎΠ΄ isalpha() ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, состоит Π»ΠΈ строка Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠ· Π±ΡƒΠΊΠ², ΠΈΠ»ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ символы, ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹ ΠΈ Ρ†ΠΈΡ„Ρ€Ρ‹:

>>> text = 'ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅'
>>> print(text.isalpha())
True
>>> text2 = 'password123'
>>> print(text2.isalpha())
False

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° isdigit() ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, входят Π»ΠΈ Π² строку Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ†ΠΈΡ„Ρ€Ρ‹, ΠΈΠ»ΠΈ Ρ‚Π°ΠΌ Π΅ΡΡ‚ΡŒ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ символы:

>>> text = '1234567890'
>>> print(text.isdigit())
True
>>> text2 = '123456789o'
>>> print(text2.isdigit())
False

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ вСщСствСнныС числа содСрТат Ρ‚ΠΎΡ‡ΠΊΡƒ, Π° ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ – Π·Π½Π°ΠΊ минуса, Π²Ρ‹ΡΠ²ΠΈΡ‚ΡŒ ΠΈΡ… этим ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ Π½Π΅ получится:

>>> text = '5.55'
>>> print(text.isdigit())
False
>>> text1 = '-5'
>>> print(text1.isdigit())
False

Если Π½ΡƒΠΆΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ Π² строкС Π΄Ρ€ΠΎΠ±Π΅ΠΉ ΠΈΠ»ΠΈ римских Ρ†ΠΈΡ„Ρ€, ΠΏΠΎΠ΄ΠΎΠΉΠ΄Π΅Ρ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ isnumeric():

>>> text = 'Β½β…“ΒΌβ…•β…™'
>>> print(text.isdigit())
False
>>> print(text.isnumeric())
True

ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ islower() ΠΈ isupper() ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ рСгистр, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ находятся Π±ΡƒΠΊΠ²Ρ‹. Π­Ρ‚ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΡŽΡ‚ Π½Π΅Π±ΡƒΠΊΠ²Π΅Π½Π½Ρ‹Π΅ символы:

>>> text = 'abracadabra'
>>> print(text.islower())
True
>>> text2 = 'Python bytes'
>>> print(text2.islower())
False
>>> text3 = 'PYTHON'
>>> print(text3.isupper())
True

ΠœΠ΅Ρ‚ΠΎΠ΄ isspace() опрСдСляСт, состоит Π»ΠΈ анализируСмая строка ΠΈΠ· ΠΎΠ΄Π½ΠΈΡ… ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ², ΠΈΠ»ΠΈ содСрТит Ρ‡Ρ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Π΅Ρ‰Π΅:

>>> stroka = '   '
>>> print(stroka.isspace())
True
>>> stroka2 = '  a  '
>>> print(stroka2.isspace())
False

ΠšΠΎΠ½Π²Π΅Ρ€Ρ‚Π°Ρ†ΠΈΡ рСгистра

Как ΡƒΠΆΠ΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΎΡΡŒ Π²Ρ‹ΡˆΠ΅, строки относятся ΠΊ нСизмСняСмым Ρ‚ΠΈΠΏΠ°ΠΌ Π΄Π°Π½Π½Ρ‹Ρ…, поэтому Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ Π»ΡŽΠ±Ρ‹Ρ… манипуляций, связанных с ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ рСгистра ΠΈΠ»ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ΠΌ (Π·Π°ΠΌΠ΅Π½ΠΎΠΉ) символов Π±ΡƒΠ΄Π΅Ρ‚ новая строка.

Из всСх ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², связанных с ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚Π°Ρ†ΠΈΠ΅ΠΉ рСгистра, Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ Π΄Π²Π° – lower() ΠΈ upper(). Они ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‚ всС символы Π² Π½ΠΈΠΆΠ½ΠΈΠΉ ΠΈ Π²Π΅Ρ€Ρ…Π½ΠΈΠΉ рСгистр соотвСтствСнно:

>>> text = 'этот тСкст Π½Π°Π΄ΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π·Π°Π³Π»Π°Π²Π½Ρ‹ΠΌΠΈ Π±ΡƒΠΊΠ²Π°ΠΌΠΈ'
>>> print(text.upper())
ЭВОВ Π’Π•ΠšΠ‘Π’ ΠΠΠ”Πž НАПИБАВЬ Π—ΠΠ“Π›ΠΠ’ΠΠ«ΠœΠ˜ Π‘Π£ΠšΠ’ΠΠœΠ˜
>>> text = 'Π·Π”Π΅ΡΡŒ Π’Π‘Π΅ Π±ΡƒΠΊΠ’Ρ‹ рАзныЕ, Π° НУТнЫ ΠΏΡ€ΠΎΠŸΠ˜Π‘ΠΡ‹Π•'
>>> print(text.lower())
здСсь всС Π±ΡƒΠΊΠ²Ρ‹ Ρ€Π°Π·Π½Ρ‹Π΅, Π° Π½ΡƒΠΆΠ½Ρ‹ прописныС

Иногда трСбуСтся ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ тСкст Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ с Π·Π°Π³Π»Π°Π²Π½ΠΎΠΉ Π±ΡƒΠΊΠ²Ρ‹ Π½Π°Ρ‡ΠΈΠ½Π°Π»ΠΎΡΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠ΅Ρ€Π²ΠΎΠ΅ слово прСдлоТСния:

>>> text = 'ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒΡΡ с Π—ΠΠ“Π›ΠΠ’ΠΠžΠ™ Π±ΡƒΠΊΠ²Ρ‹.'
>>> print(text.capitalize())
ΠŸΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒΡΡ с Π·Π°Π³Π»Π°Π²Π½ΠΎΠΉ Π±ΡƒΠΊΠ²Ρ‹.

ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ swapcase() ΠΈ title() ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Ρ€Π΅ΠΆΠ΅. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ замСняСт исходный рСгистр Π½Π° ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½Ρ‹ΠΉ, Π° Π²Ρ‚ΠΎΡ€ΠΎΠΉ – Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ слово с Π·Π°Π³Π»Π°Π²Π½ΠΎΠΉ Π±ΡƒΠΊΠ²Ρ‹:

>>> text = 'ΠΏΠ Π˜ΠœΠ•Π  ΠΈΠ‘ΠŸΠžΠ›Π¬Π—ΠžΠ’ΠΠΠ˜Π― swapcase'
>>> print(text.swapcase())
ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Использования SWAPCASE
>>> text2 = 'Ρ‚ΠΎΡ‚ случай, ΠΊΠΎΠ³Π΄Π° Π½ΡƒΠΆΠ΅Π½ ΠΌΠ΅Ρ‚ΠΎΠ΄ title'
>>> print(text2.title())
Π’ΠΎΡ‚ Π‘Π»ΡƒΡ‡Π°ΠΉ, Когда НуТСн ΠœΠ΅Ρ‚ΠΎΠ΄ Title

Поиск, подсчСт ΠΈ Π·Π°ΠΌΠ΅Π½Π° символов

ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ find() ΠΈ rfind() Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ индСкс стартовой ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ искомой подстроки. Оба ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°ΡŽΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠ΅Ρ€Π²ΠΎΠ΅ Π²Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ подстроки. Π Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ find() ΠΈΡ‰Π΅Ρ‚ ΠΏΠ΅Ρ€Π²ΠΎΠ΅ Π²Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ подстроки с Π½Π°Ρ‡Π°Π»Π° тСкста, Π° rfind() – с ΠΊΠΎΠ½Ρ†Π°:

>>> text = 'ΠΏΡ€ΠΈΠΌΠ΅Ρ€ тСкста, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π½ΡƒΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Ρ‚Π΅ΠΊΡΡ‚ΠΎΠ²ΡƒΡŽ подстроку'
>>> print(text.find('тСкст'))
7
>>> print(text.rfind('тСкст'))
37

Π’Π°ΠΊΠΈΠ΅ ΠΆΠ΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈ использовании ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² index() ΠΈ rindex() – ΠΏΡ€Π°Π²Π΄Π°, придСтся ΠΏΡ€Π΅Π΄ΡƒΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ошибок, Ссли искомая подстрока Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½Π°:

>>> text = 'БъСшь Π΅Ρ‰Π΅ этих мягких французских Π±ΡƒΠ»ΠΎΠΊ!'
>>> print(text.index('Π΅Ρ‰Π΅'))
6
>>> print(text.rindex('Ρ‡Π°ΡŽ'))
Traceback (most recent call last):
  File "<pyshell>", line 1, in <module>
ValueError: substring not found

Если Π½ΡƒΠΆΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, начинаСтся Π»ΠΈ строка с ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ подстроки, ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ startswith():

>>> text = 'Π–ΠΈΠ»Π°-Π±Ρ‹Π»Π° ΠΊΡƒΡ€ΠΎΡ‡ΠΊΠ° Ряба'
>>> print(text.startswith('Π–ΠΈΠ»Π°'))
True

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, заканчиваСтся Π»ΠΈ строка Π½Π° Π½ΡƒΠΆΠ½ΠΎΠ΅ ΠΎΠΊΠΎΠ½Ρ‡Π°Π½ΠΈΠ΅, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ endswith():

>>> text = 'Π’ ΠΊΠΎΠ½Ρ†Π΅ всСх ΠΆΠ΄Π°Π» хэппи-Π΅Π½Π΄'
>>> print(text.endswith('Π΅Π½Π΄'))
True

Для подсчСта числа Π²Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠΉ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ символа ΠΈΠ»ΠΈ подстроки ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ count() – ΠΎΠ½ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΏΠΎΠ΄ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΎΠ±Ρ‰Π΅Π΅ число Π²Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠΉ Π² тСкстС, Ρ‚Π°ΠΊ ΠΈ вхоТдСния Π² ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅:

>>> text = 'БъСшь Π΅Ρ‰Π΅ этих мягких французских Π±ΡƒΠ»ΠΎΠΊ, Π΄Π° Π²Ρ‹ΠΏΠ΅ΠΉ ΠΆΠ΅ Ρ‡Π°ΡŽ!'
>>> print(text.count('Π΅'))
5
>>> print(text.count('Π΅', 5, 25))
2

ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ strip(), lstrip() ΠΈ rstrip() ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Ρ‹ для удалСния ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ². ΠœΠ΅Ρ‚ΠΎΠ΄ strip() удаляСт ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹ Π² Π½Π°Ρ‡Π°Π»Π΅ ΠΈ ΠΊΠΎΠ½Ρ†Π΅ строки, lstrip() – Ρ‚ΠΎΠ»ΡŒΠΊΠΎ слСва, rstrip() – Ρ‚ΠΎΠ»ΡŒΠΊΠΎ справа:

>>> text = '    здСсь Π΅ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹ ΠΈ слСва, ΠΈ справа    '
>>> print('***', text.strip(), '***')
*** здСсь Π΅ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹ ΠΈ слСва, ΠΈ справа ***
>>> print('***', text.lstrip(), '***')
*** здСсь Π΅ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹ ΠΈ слСва, ΠΈ справа     ***
>>> print('***', text.rstrip(), '***')
***     здСсь Π΅ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹ ΠΈ слСва, ΠΈ справа ***

ΠœΠ΅Ρ‚ΠΎΠ΄ replace() ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ для Π·Π°ΠΌΠ΅Π½Ρ‹ символов ΠΈΠ»ΠΈ подстрок. МоТно ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π½ΡƒΠΆΠ½ΠΎΠ΅ количСство Π·Π°ΠΌΠ΅Π½, Π° сам символ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π½Π° ΠΏΡƒΡΡ‚ΡƒΡŽ подстроку – ΠΏΡ€ΠΎΡ‰Π΅ говоря, ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ:

>>> text = 'Π’ этой строчкС Π½ΡƒΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½Ρƒ "Ρ‡"'
>>> print(text.replace('Ρ‡', '', 1))
Π’ этой строкС Π½ΡƒΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½Ρƒ "Ρ‡"

Π‘Ρ‚ΠΎΠΈΡ‚ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄ replace() ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ лишь для самых простых Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² Π·Π°ΠΌΠ΅Π½Ρ‹ ΠΈ удалСния подстрок. Π’ Π±ΠΎΠ»Π΅Π΅ слоТных случаях Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ использованиС рСгулярных Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ ΠΏΠΎΠ·ΠΆΠ΅.

ΠŸΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°

Π—Π°Π΄Π°Π½ΠΈΠ΅ 1

ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, которая ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Π½Π° Π²Ρ…ΠΎΠ΄ строку ΠΈ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚:

  • количСство символов, содСрТащихся Π² тСкстС;
  • True ΠΈΠ»ΠΈ False Π² зависимости ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π»ΠΈ всС символы Π±ΡƒΠΊΠ²Π°ΠΌΠΈ ΠΈ Ρ†ΠΈΡ„Ρ€Π°ΠΌΠΈ.

РСшСниС:

text = input()
print(len(text))
print(text.isalpha())

Π—Π°Π΄Π°Π½ΠΈΠ΅ 2

ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, которая ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Π½Π° Π²Ρ…ΠΎΠ΄ слово ΠΈ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ True, Ссли слово являСтся ΠΏΠ°Π»ΠΈΠ½Π΄Ρ€ΠΎΠΌΠΎΠΌ, ΠΈΠ»ΠΈ False Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС. ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: для сравнСния Π² Python ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ==.

РСшСниС:

text = input().lower()
print(text == text[::-1])

Π—Π°Π΄Π°Π½ΠΈΠ΅ 3

ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, которая ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ строку с ΠΈΠΌΠ΅Π½Π΅ΠΌ, отчСством ΠΈ Ρ„Π°ΠΌΠΈΠ»ΠΈΠ΅ΠΉ, написанными Π² ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠΌ рСгистрС, ΠΈ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Π΄Π°Π½Π½Ρ‹Π΅ Π² ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅. НапримСр, строка Π°Π»Π΅ΠšΠ‘Π°Π½Π΄Ρ€ Π‘Π•Π Π“Π•Π•Π’Π˜Π§ ΠŸΡƒΡˆΠΊΠΈΠ Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½Π° Π² АлСксандр Π‘Π΅Ρ€Π³Π΅Π΅Π²ΠΈΡ‡ ΠŸΡƒΡˆΠΊΠΈΠ½.

РСшСниС:

text = input()
print(text.title())

Π—Π°Π΄Π°Π½ΠΈΠ΅ 4

Π˜ΠΌΠ΅Π΅Ρ‚ΡΡ строка 12361573928167047230472012. ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, которая ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ строку Π² тСкст ΠΎΠ΄ΠΈΠ½236ΠΎΠ΄ΠΈΠ½573928ΠΎΠ΄ΠΈΠ½670472304720ΠΎΠ΄ΠΈΠ½2.

РСшСниС:

text = '12361573928167047230472012'
print(text.replace('1', 'ΠΎΠ΄ΠΈΠ½'))

Π—Π°Π΄Π°Π½ΠΈΠ΅ 5

ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, которая ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Π½Π° Π²Ρ…ΠΎΠ΄ имя, отчСство, Ρ„Π°ΠΌΠΈΠ»ΠΈΡŽ ΠΈ Π΄ΠΎΠ»ΠΆΠ½ΠΎΡΡ‚ΡŒ сотрудника, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ имя ΠΈ отчСство Π² ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»Ρ‹, добавляя Π΄ΠΎΠ»ΠΆΠ½ΠΎΡΡ‚ΡŒ послС запятой.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π²Π²ΠΎΠ΄Π°:

АлСксСй
ΠšΠΎΠ½ΡΡ‚Π°Π½Ρ‚ΠΈΠ½ΠΎΠ²ΠΈΡ‡
Π ΠΎΠΌΠ°Π½ΠΎΠ²
Π±ΡƒΡ…Π³Π°Π»Ρ‚Π΅Ρ€

Π’Ρ‹Π²ΠΎΠ΄:

А. К. Π ΠΎΠΌΠ°Π½ΠΎΠ², Π±ΡƒΡ…Π³Π°Π»Ρ‚Π΅Ρ€

РСшСниС:

first_name, patronymic, last_name, position = input(), input(), input(), input()
print(first_name[0] + '.', patronymic[0] + '.', last_name + ',', position)

Π—Π°Π΄Π°Π½ΠΈΠ΅ 6

ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, которая ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Π½Π° Π²Ρ…ΠΎΠ΄ строку тСкста ΠΈ Π±ΡƒΠΊΠ²Ρƒ, Π° Π·Π°Ρ‚Π΅ΠΌ опрСдСляСт, встрСчаСтся Π»ΠΈ данная Π±ΡƒΠΊΠ²Π° (Π² любом рСгистрС) Π² тСкстС. Π’ качСствС ΠΎΡ‚Π²Π΅Ρ‚Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ True ΠΈΠ»ΠΈ False.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π²Π²ΠΎΠ΄Π°:

Π—ΠΎΠ½Ρ‚Π˜Πš
ΠΊ

Π’Ρ‹Π²ΠΎΠ΄:

True

РСшСниС:

text = input().lower()
letter = input()
print(letter in text)

Π—Π°Π΄Π°Π½ΠΈΠ΅ 7

ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, которая опрСдСляСт, являСтся Π»ΠΈ ввСдСнная ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ Π±ΡƒΠΊΠ²Π° гласной. Π’ качСствС ΠΎΡ‚Π²Π΅Ρ‚Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ True ΠΈΠ»ΠΈ False, Π±ΡƒΠΊΠ²Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΊΠ°ΠΊ Π² Π²Π΅Ρ€Ρ…Π½Π΅ΠΌ, Ρ‚Π°ΠΊ ΠΈ Π² Π½ΠΈΠΆΠ½Π΅ΠΌ рСгистрС.

РСшСниС:

vowels = 'Π°ΠΈΠ΅Ρ‘ΠΎΡƒΡ‹ΡΡŽΡ'
letter = input().lower()
print(letter in vowels)

Π—Π°Π΄Π°Π½ΠΈΠ΅ 8

ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, которая ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π½Π° Π²Ρ…ΠΎΠ΄ строку тСкста ΠΈ подстроку, Π° Π·Π°Ρ‚Π΅ΠΌ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ индСксы ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ вхоТдСния подстроки с Π½Π°Ρ‡Π°Π»Π° ΠΈ с ΠΊΠΎΠ½Ρ†Π° строки (Π±Π΅Π· ΡƒΡ‡Π΅Ρ‚Π° рСгистра).

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π²Π²ΠΎΠ΄Π°:

Π¨Π΅ΡΡ‚ΡŒ ΡˆΡƒΡΡ‚Ρ€Ρ‹Ρ… ΠΌΡ‹ΡˆΠ°Ρ‚ Π² ΠΊΠ°ΠΌΡ‹ΡˆΠ°Ρ… ΡˆΡƒΡ€ΡˆΠ°Ρ‚
ша

Π’Ρ‹Π²ΠΎΠ΄:

16 33

РСшСниС:

text, letter = input().lower(), input()
print(text.find(letter), text.rfind(letter))

Π—Π°Π΄Π°Π½ΠΈΠ΅ 9

ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ для подсчСта количСства ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ² ΠΈ Π½Π΅ΠΏΡ€ΠΎΠ±Π΅Π»ΡŒΠ½Ρ‹Ρ… символов Π² Π²Π²Π΅Π΄Π΅Π½Π½ΠΎΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ строкС.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π²Π²ΠΎΠ΄Π°:

Π’ Ρ€ΠΎΡ‰Π΅, Ρ‚Ρ€Π°Π²Ρ‹ шСвСля, ΠΌΡ‹ Π½Π°Ρ‰ΠΈΠΏΠ»Π΅ΠΌ щавСля

Π’Ρ‹Π²ΠΎΠ΄:

ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ²: 6, количСство Π΄Ρ€ΡƒΠ³ΠΈΡ… символов: 34

РСшСниС:

text = input()
nospace = text.replace(' ', '')
print(f"ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ²: {text.count(' ')}, количСство Π΄Ρ€ΡƒΠ³ΠΈΡ… символов: {len(nospace)}")

Π—Π°Π΄Π°Π½ΠΈΠ΅ 10

ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, которая ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ строку ΠΈ Π΄Π²Π΅ подстроки start ΠΈ end, Π° Π·Π°Ρ‚Π΅ΠΌ опрСдСляСт, начинаСтся Π»ΠΈ строка с Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π° start, ΠΈ заканчиваСтся Π»ΠΈ подстрокой end. РСгистр Π½Π΅ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π²Π²ΠΎΠ΄Π°:

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° Python - Π»ΡƒΡ‡ΡˆΠ΅Π΅ Ρ…ΠΎΠ±Π±ΠΈ
ΠΏΡ€ΠΎ
ΠΏΡ€ΠΎ

Π’Ρ‹Π²ΠΎΠ΄:

True
False

РСшСниС:

text, start, end = input().lower(), input(), input()
print(text.startswith(start))
print(text.endswith(end))

ПодвСдСм ΠΈΡ‚ΠΎΠ³ΠΈ

Π’ этой части ΠΌΡ‹ рассмотрСли самыС популярныС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ со строками – ΠΎΠ½ΠΈ пригодятся для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Ρ‚Ρ€Π΅Π½ΠΈΡ€ΠΎΠ²ΠΎΡ‡Π½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡ ΠΈ Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ². Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅ Π±ΡƒΠ΄Π΅ΠΌ Ρ€Π°Π·Π±ΠΈΡ€Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ со списками.

***

πŸ“– Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅ самоучитСля

  1. ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ, сфСры примСнСния, установка, ΠΎΠ½Π»Π°ΠΉΠ½ IDE
  2. ВсС, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ для изучСния Python с нуля – ΠΊΠ½ΠΈΠ³ΠΈ, сайты, ΠΊΠ°Π½Π°Π»Ρ‹ ΠΈ курсы
  3. Π’ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…: ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ Π±Π°Π·ΠΎΠ²Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ
  4. ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ со строками
  5. ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ со списками ΠΈ списковыми Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡΠΌΠΈ
  6. ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ со словарями ΠΈ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π°ΠΌΠΈ словарСй
  7. ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°ΠΌΠΈ
  8. ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ со мноТСствами
  9. ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ Ρ†ΠΈΠΊΠ»Π° for
  10. Условный Ρ†ΠΈΠΊΠ» while
  11. Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ с ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹ΠΌΠΈ ΠΈ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Ρ‹ΠΌΠΈ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ
  12. АнонимныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ
  13. РСкурсивныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ
  14. Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π²Ρ‹ΡΡˆΠ΅Π³ΠΎ порядка, замыкания ΠΈ Π΄Π΅ΠΊΠΎΡ€Π°Ρ‚ΠΎΡ€Ρ‹
  15. ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмой
  16. РСгулярныС выраТСния
  17. ΠžΡΠ½ΠΎΠ²Ρ‹ скрапинга ΠΈ парсинга
  18. ΠžΡΠ½ΠΎΠ²Ρ‹ ООП: инкапсуляция ΠΈ наслСдованиС
  19. ΠžΡΠ½ΠΎΠ²Ρ‹ ООП – абстракция ΠΈ ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ
  20. ГрафичСский интСрфСйс Π½Π° Tkinter
  21. ΠžΡΠ½ΠΎΠ²Ρ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΠ³Ρ€ Π½Π° Pygame
  22. ΠžΡΠ½ΠΎΠ²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с SQLite
  23. ΠžΡΠ½ΠΎΠ²Ρ‹ Π²Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π½Π° Flask
  24. ΠžΡΠ½ΠΎΠ²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с NumPy
  25. ΠžΡΠ½ΠΎΠ²Ρ‹ Π°Π½Π°Π»ΠΈΠ·Π° Π΄Π°Π½Π½Ρ‹Ρ… с Pandas
***

ΠœΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Ρ‹ ΠΏΠΎ Ρ‚Π΅ΠΌΠ΅

Π›Π£Π§Π¨Π˜Π• БВАВЬИ ПО Π’Π•ΠœΠ•

admin
11 дСкабря 2018

ООП Π½Π° Python: ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ, ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° Python допускаСт Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΠΈ, Π½ΠΎ Π² Π΅Π³ΠΎ основС...
admin
28 июня 2018

3 самых Π²Π°ΠΆΠ½Ρ‹Ρ… сфСры примСнСния Python: возмоТности языка

БущСствуСт мноТСство областСй примСнСния Python, Π½ΠΎ Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΎΠ½ особСнно...
admin
13 фСвраля 2017

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° Python: ΠΎΡ‚ Π½ΠΎΠ²ΠΈΡ‡ΠΊΠ° Π΄ΠΎ профСссионала

Пошаговая инструкция для всСх, ΠΊΡ‚ΠΎ Ρ…ΠΎΡ‡Π΅Ρ‚ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒΒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° Python...