293.67K
Category: programmingprogramming

Python для школьников. Занятие 6. Работа со строками в Python

1.

Python для школьников
Занятие 6. «Работа со строками в Python»
Паньгина Н.Н. 2019

2.

Строковые данные в Python
Строковые – str (‘Строка’, “Текст”)
A + B — конкатенация;
A * n — повторение n раз,
значение n должно быть
целого типа.
Ввод строки
Конкатенация
Умножение
строки на число
Вывод строк

3.

Строки в Python
Строка состоит из последовательности символов (список символов).
Узнать количество символов (длину строки) можно при помощи функции len.
Каждый символ кодируется 8 битами согласно таблице ASCII.
Код символа можно узнать с помощью функции ord, а определить символ по
его коду – с помощью функции chr.
Вводится число N.
Найти сумму цифр числа.
Выведите подряд, без
пробелов, все символы,
лежащие в таблице ASCII
между двумя заданными
символами.
Вводится строка. Определить
количество цифр в строке.

4.

Срезы в Python
Срез (slice) — извлечение из данной строки одного символа или некоторого
фрагмента подстроки или подпоследовательности.
Имеется 3 типа срезов:
1. с одним параметром (S[i] – один символ с номером i, нумерация с 0)
2. с двумя параметрами (S[n:k] – подстрока с символа n по символ k-1)
3. с тремя параметрами (S[n:k:h] – подстрока с символа n с шагом h по
символ k-1)
Пример 1: S = ‘ИНФОРМАТИКА’
print(S[5]+S[0]+S[9]+S[4]+S[3]+S[1])
Пример 2: print(S[9:11]+S[5]+S[2:5]+S[10])
Пример 3: S = ‘ПУТЕШЕСТВЕННИК’
print(S[0:10:3]+S[10:14])

5.

Срезы в Python
С одним параметром (S[i] – один символ с номером i)
Строка
П
Р
И
В
Е
Т
Пример 1: S = ‘ИНФОРМАТИКА’
Индекс
0
1
2
3
4
5
Индекс
-6
-5
-4
-3
-2
-1
print(S[5]+S[0]+S[9]+S[4]+S[3]+S[1])
print(S[-6]+S[-11]+S[-2]+S[-7]+S[-8]+S[-10])
С двумя параметрами (S[n:k] – символы от n до k-1)
Пример 2: s = ‘0123456789’
s1 = s[4:8]
s2 = s[-6:-2] # "4567"
len(s)-6
len(s)-2
Срез S[1:] опускает первый символ
Срез S[:-1] удаляет последний символ
Срез S[:] совпадает с самой строкой S
s = "0123456789"
s1 = s[:8]
# "01234567"
от начала строки
s = "0123456789"
s1 = s[3:]
# "3456789"
до конца строки

6.

Срезы в Python
С тремя параметрами (S[n:k:h] – символы от n до k-1 с шагом h)
Пример 1:
s = "0123456789"
s1 = s[-8:-2:2] # "246"
len(s)-8
len(s)-2
Пример 3:
s = "0123456789"
s1 = s[-8::2] # "2468"
len(s)-8
len(s)-2
Пример 2:
s = "0123456789"
s1 = s[-8:-2:] # "234567"
len(s)-8
len(s)-2
Пример 4:
s = "0123456789"
s1 = s[:-2:2] # "0246"
len(s)-8
Срез S[::] та же строка S
Срез S[::1] та же строка S
Срез S[::-1] переворачивает строку S
Срез S[::-2] переворачивает строку S с шагом -2
len(s)-2

7.

Методы для строк в Python
Метод — это функция, применяемая к объекту, в данном случае - к строке.
Метод вызывается в виде Имя_объекта.Имя_метода(параметры).
s = "Здесь был Вася."
n = s.find ("с")
# n = 3
if n >= 0:
print ("Номер символа", n)
else:
print ("Символ не найден")
s = "Здесь был Вася."
n = s.rfind ("с") # n = 12
Ищет от начала строки
Ищет с конца строки

8.

Методы для строк в Python

9.

Методы для строк в Python
Определить, какое
наибольшее
десятичное число
входит в IP-адрес.

10.

Задачи на строки
(для самостоятельного решения)
Напишите программу, которая
выполняет инверсию битов в
символьной строке: заменяет в
ней все нули на единицы и
наоборот.
Входные данные: 10011010
Выходные данные: 01100101
Введите битовую строку и
дополните её последним битом,
который должен быть равен 0,
если в исходной строке чётное
число единиц, и равен 1, если
нечётное (в получившейся строке
должно всегда быть чётное число
единиц).
Входные данные: 10011010
Выходные данные: 100110100
Ввести с клавиатуры в одну строку
фамилию, имя и отчество, разделив их
пробелом. Вывести фамилию и
инициалы.
Входные данные: Иванов Петр Глебович
Выходные данные: П.Г. Иванов
Ввести адрес файла и «разобрать»
его на части, разделенные знаком
"/". Каждую часть вывести в
отдельной строке.
Входные данные:
C:/Фото/2015/Байкал/shaman.jpg
Выходные данные:
C:
Фото
2015
Байкал
shaman.jpg

11.

Методы для строк в Python
Заменить в строке
«абракадабра» все буквы «а» на
заглавные «А».
s = "абракадабра"
s = s.replace ("а", "А")
print (s)
Заменить в строке
«абракадабра» три первые
буквы «а» на заглавные «А».
s = "абракадабра"
s = s.replace ("а", "А", 3)
print (s)

12.

Методы для строк в Python
s = "абракадабра"
s = s.upper ()
print (s) #"АБРАКАДАБРА"
Вводится строка.
Проверить, состоит ли
строка из одних цифр
или нет.
s = "АБРАКАДАБРА"
s = s.lower ()
print (s) #"абракадабра"
s = input()
if s.isdigit():
print('Строка из цифр')
else:
print('Строка не из цифр')

13.

Методы для строк в Python
Вводится число.
Проверить, сколько
нулей во второй
половине числа
(т.е. в младших
разрядах).
n = input()
print(n.count('0',len(n)//2,len(n)))

14.

Другие методы для строк в Python
Функция или метод
Назначение
S.isalpha()
Состоит ли строка из букв
S.isalnum()
Состоит ли строка из цифр или букв
S.islower()
Состоит ли строка из символов в нижнем регистре
S.isupper()
Состоит ли строка из символов в верхнем регистре
S.istitle()
Начинаются ли слова в строке с заглавной буквы
S.capitalize()
S.center(width, [fill])
Переводит первый символ строки в верхний регистр, а все остальные в нижний
Возвращает отцентрованную строку, по краям которой стоит символ fill (пробел по
умолчанию)
S.lstrip([chars])
Удаление пробельных символов в начале строки
S.rstrip([chars])
Удаление пробельных символов в конце строки
S.strip([chars])
Удаление пробельных символов в начале и в конце строки
S.swapcase()
Переводит символы нижнего регистра в верхний, а верхнего – в нижний
S.title()
S.zfill(width)
Первую букву каждого слова переводит в верхний регистр, а все остальные в нижний
Делает длину строки не меньшей width, по необходимости заполняя первые символы нулями
S.ljust(width, fillchar=" ")
Делает длину строки не меньшей width, по необходимости заполняя последние символы
символом fillchar
S.rjust(width, fillchar=" ")
Делает длину строки не меньшей width, по необходимости заполняя первые символы
символом fillchar

15.

Задачи на строки
(для самостоятельного решения)
Определить, является ли введенная
фраза палиндромом .
Входные данные: Искать такси
Выходные данные: Да
Дана строка. Найдите в этой строке
самое длинное слово и выведите его.
Входные данные:
Он приедет в вам зимой.
Выходные данные: приедет
В шифре Цезаря каждый символ
заменяется на другой символ, 3-й по
счету в алфавите после данного
циклично. То есть символ A заменяется
на D, символ B - на E, ..., символ Z на C.
Зашифруйте введенную строку при
помощи шифра Цезаря.
Входные данные: I LOVE YOU.
Выходные данные: L ORYH BRX.
Ввести сложное предложение,
«разобрать» его на слова,
избавившись от знаков
препинания, отсортировать
слова по алфавиту и вывести
каждое слово в отдельной
строке.
Входные данные:
Я, ты, он, она - вместе
целая страна.
Выходные данные:
вместе
он
она
страна
ты
целая
я

16.

СПАСИБО ЗА ВНИМАНИЕ!
Паньгина Нина Николаевна
E-mail: [email protected]
English     Русский Rules