Как найти длину слова python

Теги: python, питон, поиск, строка, пайтон, длина

В некоторых случаях при работе со строками в Python нам необходимо определить длину строки. Сделать это можно несколькими способами, а какими — мы сейчас и узнаем.

Python_Pro_970x90-20219-1c8674.png

Итак, в языке программирования Python строки относят к категории неизменяемых последовательностей, что необходимо помнить при вызове методов и функций. Теперь давайте представим, что у нас есть строка, и нам требуется найти её длину:


Сделать это можно несколькими способами.

Определяем длину строки в Python: способ № 1

Начнём с общеизвестного и наиболее популярного — использования функции len(). Эта встроенная функция возвращает количество символов в исследуемой нами строке, определяя таким образом её длину. Тут всё элементарно, и вы можете проверить код ниже на любом онлайн-компиляторе:

# Находим длину строки в Python с помощью функции len()
str = 'otus'
print(len(str)) 

Итогом работы функции станет следующий вывод в терминал:


Ищем длину строки в «Питоне»: способ № 2

Чтобы подсчитать количество символов в строке Python, мы можем воспользоваться циклом for и счётчиком. Тут тоже всё просто, т. к. определение длины происходит путём подсчёта числа итераций.

# Python-код возвращает длину строки
def findLen(str):
    counter = 0    
    for i in str:
        counter += 1
    return counter
str = "otus"
print(findLen(str))

Соответственно, наш вывод в консоли тоже будет равен 4.

Поиск длины строки в Python: способ № 3

Теперь давайте воспользуемся циклом while. Мы «нарежем» строку, укорачивая её на каждой итерации, в результате чего получим пустую строку и остановку цикла. А подсчёт количества итераций снова позволит нам вывести в терминал искомую длину.

# Python-код, возвращающий длину строки
def findLen(str):
    counter = 0
    while str[counter:]:
        counter += 1
    return counter

str = "otus"
print(findLen(str))

Находим длину строки в Python: способ № 4

Теперь воспользуемся строковым методом объединения. Он принимает итеративный элемент, возвращая строку, являющуюся объединением строк в итерируемом нами элементе. Разделитель между элементами — исходная строка, для которой и вызывается метод. Применение метода объединения с последующим подсчётом объединённой строки в исходной строке тоже позволит нам получить длину строки на «Питоне».

# Python-код, возвращающий длину строки
def findLen(str):
    if not str:
        return 0
    else:
        some_random_str = 'py'
        return ((some_random_str).join(str)).count(some_random_str) + 1
str = "otus"
print(findLen(str))

Как и во всех примерах выше, в консоль выведется количество символов в строе ‘otus’, равное 4. Вот и всё!

Материал написан на основе статьи — “Find length of a string in python (4 ways)”.

Хотите знать про Python гораздо больше? Записывайтесь на наш курс для продвинутых разработчиков:

Python_Pro_970x550-20219-0846c7.png

Improve Article

Save Article

Like Article

  • Read
  • Discuss
  • Improve Article

    Save Article

    Like Article

    Strings in Python are immutable sequences of Unicode code points. Given a string, we need to find its length. Examples:

    Input : 'abc'
    Output : 3
    
    Input : 'hello world !'
    Output : 13
    
    Input : ' h e l   l  o '
    Output :14

    Methods#1:

    • Using the built-in function len. The built-in function len returns the number of items in a container. 

    Python3

    str = "geeks"

    print(len(str))

    Method#2:

    • Using for loop and in operator. A string can be iterated over, directly in a for loop. Maintaining a count of the number of iterations will result in the length of the string. 

    Python3

    def findLen(str):

        counter = 0   

        for i in str:

            counter += 1

        return counter

    str = "geeks"

    print(findLen(str))

    Method#3:

    • Using while loop and Slicing. We slice a string making it shorter by 1 at each iteration will eventually result in an empty string. This is when while loop stops. Maintaining a count of the number of iterations will result in the length of the string. 

    Python3

    def findLen(str):

        counter = 0

        while str[counter:]:

            counter += 1

        return counter

    str = "geeks"

    print(findLen(str))

    Method#4:

    • Using string methods join and count. The join method of strings takes in an iterable and returns a string which is the concatenation of the strings in the iterable. The separator between the elements is the original string on which the method is called. Using join and counting the joined string in the original string will also result in the length of the string. 

    Python3

    def findLen(str):

        if not str:

            return 0

        else:

            some_random_str = 'py'

            return ((some_random_str).join(str)).count(some_random_str) + 1

    str = "geeks"

    print(findLen(str))

    Method:5:

    • Using reduce method. Reduce method is used to iterate over the string and return a result of collection element provided to the reduce function. We will iterate over the string character by character and count 1 to result each time. 

    Python3

    import functools

    def findLen(string):

        return functools.reduce(lambda x,y: x+1, string, 0)

    string = 'geeks'

    print(findLen(string))

    Output:

    5

    Method:6:

    • Using sum() and list comprehension function. We use list comprehension for iterating over the string and sum function to sum total characters in string 

    Python3

    def findLen(string):

        return sum( 1 for i in string);

    string = 'geeks'

    print(findLen(string))

    Output:

    5

    Method 7: Using enumerate function

    Python3

    string = "gee@1ks"

    s = 0

    for i, a in enumerate(string):

        s += 1

    print(s)

    Last Updated :
    20 Dec, 2022

    Like Article

    Save Article

    Python 3:

    user225312’s answer is correct:

    A. To count number of characters in str object, you can use len() function:

    >>> print(len('please anwser my question'))
    25
    

    B. To get memory size in bytes allocated to store str object, you can use sys.getsizeof() function

    >>> from sys import getsizeof
    >>> print(getsizeof('please anwser my question'))
    50
    

    Python 2:

    It gets complicated for Python 2.

    A. The len() function in Python 2 returns count of bytes allocated to store encoded characters in a str object.

    Sometimes it will be equal to character count:

    >>> print(len('abc'))
    3
    

    But sometimes, it won’t:

    >>> print(len('йцы'))  # String contains Cyrillic symbols
    6
    

    That’s because str can use variable-length encoding internally. So, to count characters in str you should know which encoding your str object is using. Then you can convert it to unicode object and get character count:

    >>> print(len('йцы'.decode('utf8'))) #String contains Cyrillic symbols 
    3
    

    B. The sys.getsizeof() function does the same thing as in Python 3 – it returns count of bytes allocated to store the whole string object

    >>> print(getsizeof('йцы'))
    27
    >>> print(getsizeof('йцы'.decode('utf8')))
    32
    

    Перейти к контенту

    В этом уроке мы собираемся обсудить, как определить длину строки в Python. Длина или размер строки в основном требуется при перемещении по ней или при выполнении с ней некоторых операций.

    Итак, теперь давайте посмотрим на различные методы, с помощью которых мы можем найти длину заданной строки в Python.

    Содержание

    1. Методы определения длины строки
    2. 1. Использование метода len()
    3. 2. Определение собственной функции для поиска длины строки

    Методы определения длины строки

    Мы можем использовать любой из приведенных ниже методов, чтобы найти длину строки в Python. Мы собираемся обсудить каждую из них по очереди.

    1. Использование метода len()

    Рассматривая первый и самый простой метод, len() напрямую возвращает длину переданного строкового объекта, в котором он вызывается. Метод len() также работает с другими повторяемыми объектами, такими как списки. Приведенный ниже код иллюстрирует, как мы можем использовать эту функцию, а также как она работает.

    #Given string whose length is to be found
    str1="Python is great!"
    print("The given String is:",str1)
    
    #calling our len() method to calculate
    #the length of str1
    print("Length =",len(str1))
    

    Вывод:

    Использование метода len()

    Где:

    • str1 – заданная строка;
    • Затем мы напрямую вызываем метод len() со строкой и печатаем возвращаемое им значение. Как мы видим, метод дает нам правильную длину для данной строки, str1.

    Теперь, переходя к следующей технике, мы можем определить нашу собственную функцию (str_len() в нашем случае) для вычисления длины строки в Python.

    Давайте посмотрим, как мы можем это сделать:

    #function that calculates length of the passed string
    def str_len(str1):
        c=0    #counter initialised as 0
        for i in str1:
            c=c+1   #counter increased for each element
        return c
    
    #Given string whose length is to be found
    str1="JournalDev"
    print("The given String is:",str1)
    
    #calling our str_len() function to calculate
    #the length of str1
    print("Length =",str_len(str1))
    

    Вывод:

    Определение собственной функции для поиска длины строки

    В приведенном выше коде:

    • Мы определяем функцию str_len(), которая принимает строку и возвращает ее длину.
    • Внутри функции мы инициализируем счетчик c = 0, который фактически подсчитывает количество элементов в переданной строке. Мы перебираем строку и продолжаем увеличивать счетчик. Следовательно, к концу цикла for c содержит длину строки. Затем мы возвращаем c.
    • Чтобы проверить, работает ли наша функция должным образом, мы вычисляем и печатаем длину строки str1. Из вывода видно, что функция возвращает значение 9, которое является желаемым выводом.

    ( 1 оценка, среднее 5 из 5 )

    Помогаю в изучении Питона на примерах. Автор практических задач с детальным разбором их решений.

    Текстовые переменные 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 поддерживает два типа индексации – положительную, при которой отсчет элементов начинается с 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

    ***

    Материалы по теме

    • ТОП-15 трюков в Python 3, делающих код понятнее и быстрее

    Добавить комментарий