Немного о строках
- Строки в Питоне — это упорядоченная последовательность символов. Строка может заключаться как в кавычки, так и в апострофы:
- Строка считывается со стандартного ввода функцией input():
S = 'Поэма "Руслан и Людмила"' S = "Dr's" |
a = input() print(a) |
Операции со строками
- Для двух строк определена операция сложения (конкатенации), также определена операция умножения строки на число:
- Длина строки – функция len():
a="па" b="рад" print(a+b) # парад |
a="кар" print (a*4) # каркаркаркар |
a="парад" print (a[2]) # р |
a ="кот" a[2] = "д" # ошибка! |
a="парад" print (len(a)) # 5 |
Срезы
[X:Y]
X
– это индекс начала среза, а Y
– его окончания
tday = 'morning, afternoon, night' tday[0:7] # 'morning' |
s = 'spameggs' s[3:5] # 'me' s[2:-2] # 'ameg' s[-4:-2] # 'eg' s[:6] # 'spameg' s[1:] # 'pameggs' s[:] # 'spameggs' |
s = 'spameggs' s[::-1] # 'sggemaps' s[3:5:-1] # '' s[2::2] # 'aeg' |
Извлеките из строки символы с индексами кратными трем.
✍ Решение:
1 2 3 4 5 6 | s = 'spameggs' x=3 l=len(s)//3 for i in range(l): print(s[x:x+1:3]) # m g x+=3 |
Для решения можно использовать просто срез:
1 2 | s = 'spameggs' print(s[1::3]) |
— первые восемь символов;
— четыре символа из центра строки;
— пять символов с конца строки.
Дана строка длиной N. Вывести символы строки в обратном порядке.
(Не использовать цикл).
Дана строка длиной N (N — четное число). Вывести символы с четными номерами в порядке возрастания их номеров:
а2, а4, а6, ... аn
Условный оператор не использовать.
Дана строка длиной N. Вывести сначала символы с четными номерами (в порядке возрастания номеров), а затем — символы с нечетными номерами (также в порядке возрастания номеров):
а2, а4, а6,...а1, а3, а5...
Условный оператор не использовать.
Методы строк
Строки, как объекты Python, обладают методами (т.е. функциями, которые выполняют сами объекты).
s="hello" s1="-".join(s) s1 # 'h-e-l-l-o' |
s
в строку s1
. Результатом является число. Можно указать позицию начала поиска i и окончания поиска j:
s1="abrakadabra"; s1.count('ab') # 2 s1.count('ab',1) # 1 s1.count('ab',1,-3) # 0 , т.к. s1[1:-3]='brakada' |
s
в строку s1
. Результатом является число. i
и j
определяют начало и конец области поиска:
s1="abrakadabra"; s1.find('br') # 1 |
s2
исходной строки заменяется на фрагмент s3
. Необязательный аргумент n
указывает количество замен:
s1="breKeKeKeKs"; ss=s1.replace('Ke','XoXo',2) ss # breXoXoXoXoKeKs |
Примечание:
- Использовать строковые функции языка и срезы.
- Функциями работы с датами и временем «заведует» в Python datetime модуль, а непосредственно для работы с датами используется объект date и его методы.
Подсказка:
from datetime import date # Получаем текущую дату d1=date.today() # Преобразуем результат в строку ds=str(d1) |
Ввести адрес файла и «разобрать» его на части, разделенные знаком ‘/’. Каждую часть вывести в отдельной строке.
Например: c:/изображения/2018/1.jpg
Результат:
c: изображения 2018 1.jpg
Ввести строку, в которой записана сумма натуральных чисел, например, ‘1+25+3’. Вычислите это выражение. Использовать строковые функции языка.
Примечание:
если s='1234'
, то
S[-1]='4', s[-2]='3'….
Для решения используйте алгоритм, изображенный на блок-схеме:
Форматирование строк
- Одна подстановка:
- Несколько подстановок:
- другой вариант форматирования с множественными подстановками:
Python включает форматирование строк. Данное понятие подразумевает подстановку какого-либо шаблона в определенное место (или в определенные позиции) текста. Подстановка происходит, что называется, «на лету».
Рассмотрим пример использования в коде на Python метода format:
'Hello, {}!'.format('Vasya') # 'Hello, Vasya!' |
Аргументом метода является текст-подстановка, который при исполнении программы подставляется на место фигурных скобок.
'{0}{1}{0}'.format('abra', 'cad') # 'abracadabra' |
Подстановки нумеруются, аргументы метода format заполняют позиции для подстановок согласно их порядковым номерам, указанным в фигурных скобках.
'Coordinates: {latitude}, {longitude}'.format(latitude='37.24N', longitude='-115.81W') 'Coordinates: 37.24N, -115.81W' |
Аргументы метода format заполняются согласно указанным именам заполнителей.
format
есть больше возможностей, которые выходят за рамки рассмотрения темы на данном уроке.Допустим, есть какое-то объявление и несколько разных людей, которым нужно это объявление отправить. Для этого создается заготовка с содержанием объявления, внутри которого есть ряд изменяющихся параметров: имена людей и названия событий. Вывести один вариант итогового объявления на экран. Для задания имен и названий использовать форматирование при помощи метода format.
Используйте шаблон объявления и ориентируйтесь по цветам:
Красным – массивы.
Коричневым – числовая переменная.
Уважаемый (ая), Иван Иванович!
Приглашаем Вас на день открытых дверей.
Дата события: 1 мая.
С уважением, Василий.
* Примечание:
- Вывести пять объявлений.
- Для имен создать массив (список), подстановку элементов в объявление осуществлять в цикле.
- Даты меняются от 1 до 5.
добрый день)
Думаю, в задании 5_8 в блок-схеме ошибка. Должно быть s[i] == s[L-i-1] вместо s[i] == s[L-i+1]
Можете дать решение к заданию 5.6