Язык программирования Python
Строковые величины в языке Python
Строковая константа (строка) – произвольная последовательность символов из таблицы Unicode, заключенная в одинарные или двойные кавычки (тип str – «string»).
Например:
'Это строка'
"Это тоже строка"
Длина строки – количество символов в строке .
Пустая строка – строка с нулевой длиной (не содержит ни одного символа, обозначается "" ).
Операции со строками
1. Присваивание значения строковой переменной
s = "Привет"
2. Ввод строки с клавиатуры
n = input ( "Введите имя: " ) Примечание: при вводе значения строки кавычки не вводятся.
3. Вывод строки на экран
print (n) Примечание: при выводе строки кавычки не выводятся.
4. Объединение строк (конкатенация)
Соединяет несколько строк в одну строку. Обозначается знаком + .
Например:
"КОМ" + "ПЬЮ" + "ТЕР" # "КОМПЬЮТЕР"
"10" + "2" # "102"
Операции со строками
5. Определение длины строки
Функция len (s) (length – «длина») возвращает длину строки.
Например:
len (s) # 6
len ( "ЭВМ" ) # 3
len ( "" ) # 0
6. Выделение отдельного символа s = "Привет"
print (s[2]) # и
Примечание: символы нумеруются, начиная с 0.
Операции со строками
7. Выделение части строки (подстроки)
s[n:k]
Выделяет из строки s часть строки от позиции n до k-1 .
s[:k]
Выделяет из строки s часть строки от начала до k-1 .
s[n:]
Выделяет из строки s часть строки от позиции n до конца.
Примечание: символы нумеруются, начиная с 0.
Например:
s = "ИНФОРМАТИКА"
print (s[2:7]) # "ФОРМА"
Операции со строками
8. Преобразование типов
При необходимости можно преобразовать число в строку или наоборот. int (s) – преобразует строку в целое число.
float (s) – преобразует строку в вещественное число.
str (n) – преобразует целое или вещественное число в строку.
Примечание: если в строке содержатся символы, не допустимые для чисел, возникнет ошибка.
Например:
s1 = "123" # строка цифр
i = int (s1) # i=123
f = float (s1) # f=123.0
s2 = str (f) # s2="123.0"
print (i, f, len (s2)) # 123 123.0 5
Операции со строками
9. Операции с кодами символов
ord (s) – возвращает код символа s .
chr (k) – возвращает символ с кодом k .
Примечание: коды из кодовой таблицы Unicode.
Например:
print ( ord ( "И" )) # 1048
print ( chr (1048)+ chr (1050)+ chr (1058)) # ИКТ
, , =. Сравнение строк производится слева направо до первого несовпадающего символа. Строка считается больше, если первый несовпадающий символ имеет больший код в кодовой таблице (пробел, цифры, латинские заглавные, латинские строчные, русские заглавные, русские строчные). Строки равны, если они совпадают по длине и содержат одни и те же символы. "1STR" "STR" "Str" "str" "ШАГ" "Шаг" "шаг" 11. Перебор символов строки Часто в программах требуется перебирать по одному все символы строки для проведения с ними каких-либо действий. Для этого удобно использовать следующий цикл: for C in S: # перебор символов в строке S # очередной символ в перем. C " width="640"
Операции со строками
10. Сравнение строк
Операции отношения: == , != , , , , =.
Сравнение строк производится слева направо до первого несовпадающего символа. Строка считается больше, если первый несовпадающий символ имеет больший код в кодовой таблице (пробел, цифры, латинские заглавные, латинские строчные, русские заглавные, русские строчные). Строки равны, если они совпадают по длине и содержат одни и те же символы.
"1STR" "STR" "Str" "str" "ШАГ" "Шаг" "шаг"
11. Перебор символов строки
Часто в программах требуется перебирать по одному все символы строки для проведения с ними каких-либо действий. Для этого удобно использовать следующий цикл:
for C in S: # перебор символов в строке S
# очередной символ в перем. C
Задача 1
Получить с помощью операций выделения части строки и конкатенации из слова «ИНФОРМАТИКА» слово «ФИРМА».
0 1 2 3 4 5 6 7 8 9 10
И Н Ф О РМА ТИКА
a = "ИНФОРМАТИКА"
print (a)
b = a[2] + a[0] + a[4:7]
print (b)
ИНФОРМАТИКА
ФИРМА
Задача 2
В двух строках хранятся фамилия и имя человека. Получить две другие строки в виде «Фамилия_И.», «Имя_Ф.».
a = input ( "Введите фамилию: " )
b = input ( "Введите имя: " )
print ()
c = a + "_" + b[0] + "."
print (c)
d = b + "_" + a[0] + "."
print (d)
Введите фамилию: Иванов
Введите имя: Петр
Иванов_П.
Петр_И.
Задача 3
Из данной строки получить другую строку, состоящую из тех же символов, но в обратном порядке.
# Перевертыш (1 способ)
a = input ( "Введите строку: " )
b = "" # нач. знач. результата
for i in range ( len (a)): # перебор символов
b = a[i]+b # присоед. текущий в начало
print ( "Получен текст:" , b)
# Перевертыш (2 способ)
a = input ( "Введите текст: " )
b = "" # нач. знач. результата
for c in a: # перебор символов
b = c+b # присоед. текущий в начало
print ( "Получен текст:" , b)
Введите текст: АБРАКАДАБРА
Получен текст: АРБАДАКАРБА
Задача 4
Подсчитать, сколько раз в данном тексте встречается некоторый заданный символ.
# Количество символов в тексте
a = input ( "Введите текст: " )
b = input ( "Какой символ подсчитать? " )
k = 0 # начальное знач. счетчика
for c in a: # перебор символов
if c==b: # если заданный символ
k = k+1 # увеличиваем счетчик на 1
print ( "В тексте таких символов" , k)
Введите текст: АБРАКАДАБРА
Какой символ подсчитать? А
В тексте таких символов 5
Задача 5
В данном тексте после каждого символа вставить некоторый заданный символ.
# Вставка символов после каждого в тексте
a = input ( "Введите текст: " )
b = input ( "Какой символ вставлять? " )
c = "" # начальное знач. результата
for d in a: # перебор символов
c = c+d+b # присоединяем текущий и заданный
print ( "Получен текст: " )
print (c)
Введите текст: АБРАКАДАБРА
Какой символ вставлять? *
Получен текст:
А*Б*Р*А*К*А*Д*А*Б*Р*А*
Задача 6
В данном тексте удалить некоторый заданный символ.
# Удаление заданного символа
a = input ( "Введите текст: " )
b = input ( "Какой символ удалять? " )
c = "" # начальное знач. результата
for d in a: # перебор символов
if d!=b: # если текущий не равен заданному
c = c+d # присоединяем текущий символ
print ( "Получен текст: " )
print (c)
Введите текст: АБРАКАДАБРА
Какой символ удалять? А
Получен текст:
БРКДБР
Задача 7
В данном тексте заменить некоторый заданный символ другим заданным символом.
# Замена символов другим символом
a = input ( "Введите текст: " )
b = input ( "Какой символ заменять? " )
c = input ( "На какой заменять? " )
d = "" # начальное знач. результата
for e in a: # перебор символов
if e==b: # если текущий равен заданному
d = d+c # присоединяем новый символ
else : # иначе
d = d+e # присоединяем текущий символ
print ( "Получен текст: " )
print (d)
Введите текст: АБРАКАДАБРА
Какой символ заменять? А
На какой заменять? О
Получен текст:
ОБРОКОДОБРО
Задача 8
Из данной строки выбрать все цифры и сформировать другую строку из этих цифр, сохранив их последовательность.
# Поиск символов и создание из них строки
a = input ( "Введите текст: " )
b = "0123456789" # строка цифр
c = "" # начальное знач. результата
for d in a: # перебор символов строки
for e in b: # перебор строки цифр
if d==e: # если текущий есть в цифрах
c = c+d # присоединяем к результату
print ( "Получена строка: " )
print (c)
Введите текст: В классе 20 учеников
Получена строка:
20
Используемые материалы:
- Босова Л.Л. Информатика. 8-9 классы. Начала программирования на языке Python. Дополнительные главы к учебникам – М. : БИНОМ. Лаборатория знаний, 2020.
- Поляков К.Ю. Информатика. 10 класс. Базовый и углубленный уровни : в 2ч. Ч. 2 – М. : БИНОМ. Лаборатория знаний, 2018.