Питон четные символы строки

Основы работы со строками¶

Строковый литерал может быть записан в одинарных или двойных кавычнах:

Разницы между этими двумя формами записи нет. Записывать строки в двойных кавычках удобно в случаях, когда в тексте содержится апостроф:

>>> "What's your name?" "What's your name?" 

Запись в апострофах удобна, если в тексте есть кавычки:

>>> 'He said: "Bond, James Bond."' 'He said: "Bond, James Bond."' 

Иначе интерпретатор будет считать ближайшие кавычку или апостроф закрывающими, и их нужно экранировать:

>>> 'What\'s your name?' "What's your name?" >>> "He said: \"Bond, James Bond.\"" 'He said: "Bond, James Bond."' 

Внутри строки могут быть управляющие последовательности. Некоторые из них:

>>> print("Hello\nWorld") Hello World >>> print("1\t2\n30\t4") 1 2 30 4 

В некоторых случаях экранирование обратного слеша может быть неудобно. Можно воспользоваться литералом сырых строк:

>>> print(r"Hello\nWorld") Hello\nWorld 

Операции со строками¶

>>> "Hello " + "World" 'Hello World' 
>>> "python " * 3 'python python python ' 

Обращение к символу i строки s . Индексация начинается с нуля. Индексы могут быть отрицательными, тогда отсчет ведется с конца строки:

>>> s = 'abcdef' >>> s[0] 'a' >>> s[5] 'f' >>> s[-1] 'f' >>> s[-2] 'e' 

Получение среза строки от позиции begin до позиции end с шагом step . Любой параметр может быть пропущен:

>>> s = "abcdef" >>> s[1:] 'bcdef' >>> s[:-1] 'abcde' >>> s[1:-1] 'bcde' >>> s[1::2] 'bdf' >>> s[::2] 'ace' >>> s[::-2] 'fdb' 

Задачи¶

  1. Пользователь вводит слово. Подсчитать количество символов в нем.
  2. Пользователь вводит слово. Вывести его первую и последнюю буквы.
  3. Пользователь вводит число. Вывести соответствующее количество кроликов. Пример:
Rabbits: 1 (\_/) =(^.^)= (“)_(“) Rabbits: 3 (\_/) (\_/) (\_/) =(^.^)= =(^.^)= =(^.^)= (“)_(“) (“)_(“) (“)_(“)

С помощью срезов вывести отдельно имя файла, его расширение, имя каталога и полный путь к каталогу. Пример вывода:

Имя файла: python.exe Расширение: exe Имя каталога: Python3 Полный путь к каталогу: C:\Python3\
Chapter 1: Мальчик, который выжил Page: 5 Chapter 2: Косой переулок Page: 40 Chapter 3: Человек с двумя лицами Page: 500 
Мальчик, который выжил 5 Косой переулок 40 Человек с двумя лицами 500 

Дополнительные задачи¶

Разработать приложение, которое запрашивает у пользователя стоимость заказа из трех пунктов и выводит чек таким образом, что все стоимости выводятся в крайнем правом столбце. Ширину чека принять за 30 символов. Пример:

Салат: 60 Первое: 45 Второе: 120 Ваш счет Салат: 60.0 Первое: 45.0 Второе: 120.0 ------------------------------ Итого: 225.0 

Домашнее задание¶

На вход программе подается строка. Необходимо вывести:

  1. Сначала выведите третий символ этой строки.
  2. Во второй строке выведите предпоследний символ этой строки.
  3. третьей строке выведите первые пять символов этой строки.
  4. В четвертой строке выведите всю строку, кроме последних двух символов.
  5. В пятой строке выведите все символы с четными индексами (считая, что индексация начинается с 0, поэтому символы выводятся начиная с первого).
  6. В шестой строке выведите все символы с нечетными индексами, то есть начиная со второго символа строки.
  7. В седьмой строке выведите все символы в обратном порядке.
  8. В восьмой строке выведите все символы строки через один в обратном порядке, начиная с последнего.
  9. В девятой строке выведите длину данной строки.
Input: Abrakadabra Output: r r Abrak Abrakadab Arkdba baaar arbadakarbA abdkrA 11 

© Copyright Revision d00c0df4 .

Читайте также:  Posting php in wordpress

Versions latest Downloads html On Read the Docs Project Home Builds Free document hosting provided by Read the Docs.

Источник

Строки (Strings)#

Строки можно суммировать. Тогда они объединяются в одну строку:

In [14]: intf = 'interface' In [15]: tun = 'Tunnel0' In [16]: intf + tun Out[16]: 'interfaceTunnel0' In [17]: intf + ' ' + tun Out[17]: 'interface Tunnel0' 

Строку можно умножать на число. В этом случае, строка повторяется указанное количество раз:

In [18]: intf * 5 Out[18]: 'interfaceinterfaceinterfaceinterfaceinterface' In [19]: '#' * 40 Out[19]: '########################################' 

То, что строки являются упорядоченным типом данных, позволяет обращаться к символам в строке по номеру, начиная с нуля:

In [20]: string1 = 'interface FastEthernet1/0' In [21]: string1[0] Out[21]: 'i' 

Нумерация всех символов в строке идет с нуля. Но, если нужно обратиться к какому-то по счету символу, начиная с конца, то можно указывать отрицательные значения (на этот раз с единицы).

In [22]: string1[1] Out[22]: 'n' In [23]: string1[-1] Out[23]: '0' 

Кроме обращения к конкретному символу, можно делать срезы строк, указав диапазон номеров (срез выполняется по второе число, не включая его):

In [24]: string1[0:9] Out[24]: 'interface' In [25]: string1[10:22] Out[25]: 'FastEthernet' 

Если не указывается второе число, то срез будет до конца строки:

In [26]: string1[10:] Out[26]: 'FastEthernet1/0' 

Срезать три последних символа строки:

Также в срезе можно указывать шаг. Так можно получить нечетные числа:

In [28]: a = '0123456789' In [29]: a[1::2] Out[29]: '13579' 

А таким образом можно получить все четные числа строки a:

Читайте также:  Java thread and join

Срезы также можно использовать для получения строки в обратном порядке:

In [28]: a = '0123456789' In [29]: a[::] Out[29]: '0123456789' In [30]: a[::-1] Out[30]: '9876543210' 

Записи a[::] и a[:] дают одинаковый результат, но двойное двоеточие позволяет указывать, что надо брать не каждый элемент, а, например, каждый второй.

Функция len позволяет получить количество символов в строке:

In [1]: line = 'interface Gi0/1' In [2]: len(line) Out[2]: 15 

Функция и метод отличаются тем, что метод привязан к объекту конкретного типа, а функция, как правило, более универсальная и может применяться к объектам разного типа. Например, функция len может применяться к строкам, спискам, словарям и так далее, а метод startswith относится только к строкам.

Источник

Оцените статью