Похожие презентации:
Занятие 1.7
1. Работа со строками в языке Python
2. Строка
• — это последовательность символов (букв,цифр, знаков препинания, пробелов),
заключенная в кавычки.
3. Создание строк
• s1 = ‘first'• s2 = “second“
• Ввод из консоли:
• s = input()
• Пустая строка
• s = '‘
• s = ""
4. Умножение и сложение строк
• s1 = "some string 1"• s2 = "some string 2"
• print(s1 + s2) # some string 1some string 2
• s1 = “12”
• print(s1 * 5) # 1212121212
5. Сравнение строк
• print('a' > 'b') # False• print('a' < 'z') # True
• Чем дальше буква, тем «больше»
• print('d' > 'D') # True
• Маленькая «больше» большой
• Символы сравниваются по очереди, пока
хоть один не будет «больше»
• print(‘asdf' > ‘asdb') # True
6. Индексация строк
• s1 = ‘first'• ы1[0] = ‘f’
• s1[-1] = ‘t’
• Длина строки
• len(s1) # 5
• Строки неизменяемы
s1[0] = 'h’ # Вызовет ошибку
• text = list(s1)
text[0] = 'h'
print(''.join(text))
• new_text = 'h' + s1[1:] # Срезы работают со строками
7. Задача 0
• words = ['Python', 'is', 'great']• Создайте из списка строку, где эти слова
разделены символом «+» и выведете её в
консоль.
8. Проверка принадлежности
• text = "Hello, World!"• # Операторы in и not in
• print("Hello" in text) # True
• print("Python" in text) # False
• print("xyz" not in text) # True
9. Срезы
• s1 = ‘first'• print(s1[3:])
• print(s1[-3:])
• print(s1[::-1])
• st
• rst
• tsrif
10. Задача 1
• Введите строку из консоли, затем заменитев ней 5 символ на «i», и выведете
изменённую строку в консоль.
11. Методы преобразования регистра
• text = "Hello World“• print(text.upper())
# HELLO WORLD
• print(text.lower())
# hello world
• print(text.capitalize()) # Hello world
• print(text.title())
# Hello World
• print(text.swapcase()) # hELLO wORLD
• print(text.isupper())
# False
• print(text.islower())
# False
• print(text.istitle())
# True
12. Наличие определённых символов в строке
• isalnum() - True, если исходная строкаявляется непустой и состоит только из
буквенно-цифровых символов, иначе False.
• isalpha() – только буквы
• isdigit() – только цифры
• isspace() - только пробелы
13. Методы поиска и замены
• count(sub, start, end) – возвращаетколичество непересекающихся вхождений.
• s1 = “some string”
• s1.count(‘s’) # 2
• s1.count(‘s’, 0, 4) # 1
14. Методы поиска и замены
• startswith(sub, start, end) – начинается листрока подстрокой sub
• s1 = “some string”
• s1.startswith("s") # True
s1.startswith("s", 1, 4) # False
• endswith(sub, start, end) – заканчивается ли
строка подстрокой sub
15. Методы поиска и замены
• find(sub, start, end) - возвращает индекспервого вхождения подстроки sub
• rfind(sub, start, end) – возвращает индекс
первого вхождения подстроки sub, но
начинает с конца строки
• s1 = “some string”
• s1.find("s") # 0
s1.rfind("s") # 5
• index(), rindex() – тоже самое, но вызывают
ошибку, если не найдут
16. Методы удаления пробелов
• text = " Hello World "• print(text.strip())
# "Hello World"
• print(text.lstrip())
# "Hello World "
• print(text.rstrip())
# " Hello World«
• Можно передать в аргумент другие
символы
• s1 = "some string"
print(s1.strip("s")) - ome string
17. Метод replace()
• s.replace(“old”, “new”) – заменяет всевхождения подстроки “old” на “new”.
• s1 = "some string dome ome"
print(s1.replace("me", "1"))
• # so1 string do1 o1
• Также третьим аргументом можно передать
количество замен.
• s1 = "some string dome ome"
print(s1.replace("me", "1“, 2))
• # so1 string do1 ome
18. Методы не изменяют исходную строку
• Обратите внимание на то, что строковыеметоды не изменяют исходную строку:
вместо этого они возвращают новую строку.
• s1 = "some string dome ome"
s1.replace("me", "1", 2)
print(s1) # some string dome ome
s1 = s1.replace("me", "1", 2)
print(s1) # so1 string do1 ome
19. Задание 12
Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две
команды, в обеих командах v и w обозначают цепочки цифр.
А) заменить (v, w).
Эта команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Например, выполнение команды
заменить (111, 27) преобразует строку 05111150 в строку 0527150. Если в строке нет вхождений цепочки v, то
выполнение команды заменить (v, w) не меняет эту строку.
Б) нашлось (v).
Эта команда проверяет, встречается ли цепочка v в строке исполнителя Редактор. Если она встречается, то команда
возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Строка исполнителя
при этом не изменяется.
Цикл
ПОКА условие
последовательность команд
КОНЕЦ ПОКА
выполняется, пока условие истинно.
В конструкции
ЕСЛИ условие
ТО команда1
ИНАЧЕ команда2
КОНЕЦ ЕСЛИ
выполняется команда1 (если условие истинно) или команда2 (если условие ложно).
Какая строка получится в результате применения приведённой ниже программы к строке, состоящей из 68 идущих
подряд цифр 8? В ответе запишите полученную строку.
НАЧАЛО
ПОКА нашлось (222) ИЛИ нашлось (888)
ЕСЛИ нашлось (222)
ТО заменить (222, 8)
ИНАЧЕ заменить (888, 2)
КОНЕЦ ЕСЛИ
КОНЕЦ ПОКА
КОНЕЦ
20. Задание 12
• заменить (v, w)• s.replace(v, w, 1)
• нашлось (v)
• v in s
• 68 идущих подряд цифр 8
• s = 68 * “8”
21. Задание 12
• Какая строка получится в результате примененияприведённой ниже программы к строке, состоящей из
68 идущих подряд цифр 8? В ответе запишите
полученную строку.
• НАЧАЛО
• ПОКА нашлось (222) ИЛИ нашлось (888)
ЕСЛИ нашлось (222)
ТО заменить (222, 8)
ИНАЧЕ заменить (888, 2)
КОНЕЦ ЕСЛИ
• КОНЕЦ ПОКА
• КОНЕЦ
22. Задание 12
• s = 68 * '8'while "222" in s or "888" in s:
if "222" in s:
s = s.replace("222", "8", 1)
else:
s = s.replace("888", "2", 1)
print(s) # 28
Программирование