МИНОБРНАУКИ РОССИИ САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ ЭЛЕКТРОТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ «ЛЭТИ» ИМ. В.И. УЛЬЯНОВА (ЛЕНИНА) Кафедра САПР ОТЧЕТ по лабораторной работе №1 по дисциплине «Информатика» Тема: Работа со строками в Python Студентка гр. 0336 Елисеева В.С. Преподаватель Горячев А.В. Санкт-Петербург 2021 Введение. В данной работе подробно разберем сущность типа данных string в Python, изучим методы работы со строками, разберем самые часто встречаемые задачи со строками. Также поговорим о кодировки символов в строке и обращении к ним в отдельности. Цели работы. 1. Понять, что такое строка в Python, из чего она состоит, как обратиться к конкретному фрагменту или элементу строки. 2. Изучить методы для обработки строк в Python. 3. Разобрать стандартные задачи с применением изученных функций при работе со строками. Основные теоретические положения. 1.1. Типы данных в Python. В Python, как и в любом язык программирования существует несколько типов данных. Если разделить на две большие группы их, то мы говорим о неизменяемых и изменяемых. Неизменяемые типы данных Тип данных Функция для перехода к Пример значений данному типу данных Строки str() ‘Hello world!’ Целые числа int() 345 -34 Дробные числа (числа с float() плавающей точкой) Логический тип данных 345.45 -3.6 bool() True, False Изменяемые типы данных Тип данных Функция для перехода к данному типу данных 2 Пример значений Словарь dict() {‘ключ’ : ‘значение’} Список list() [‘один’, 2] Множество set() {1,2,45,3} tuple() (‘1’, 2, ‘4’) Кортежи У каждого типа данных есть свои особенности и сферы применения, сегодня мы рассмотрим строки. 1.2. Основные понятия и методы работы со строками. Строка – это тип данных, хранящий набор символов. Строковые объекты создаются, если текст поместить в одиночные апострофы или двойные кавычки. Пример: 'Это потрясающее место!' или “Ходили на бокс. Хороший пляж” При работе со строками существует возможность обратиться к отдельному элементу в ней. Это связано с тем, что строка состоит из отдельных символов, и каждый из них имеет свой порядковый номер (индекс) начиная с 0. Пример: 1. Из строки ‘Hello!’, вывести символ ‘!’. a = ‘Hello!’ print(a[5]) 2. Вывести из строки ‘Hello world!’ фрагмент ‘Hello!’. #В конкретном примере стоит обратить внимание на то, что если мы хотим вывести фрагмент, то нужно указать индекс не последнего символа фрагмента, а следующий после него, дабы не потерять последний символ фрагмента. a = ‘Hello world!’ print(a[0:5]) В Python существует возможность посчитать количество элементов в строке. С такими задачами работает функция len(). 3 Пример: a = ‘Hello world!’ length = len(a) print(length) Очень важную роль в Python играет регистр. Поскольку для данного языка программирования слова написанные с заглавной буквы и строчной являются разыми для избегания ошибок была создана функция lower(). Данный метод позволяет сделать все символы в строке маленького регистра. Пример: a = ‘Hello world!’ a = a.lower() print(length) В строках также можно заниматься поиском «подстроки». То есть искать вхождение определенного сочетания символов. С этими задачами справляются 3 метода: count() – выводит сколько раз встречается данный фрагмент в строке; find() – поиск «подстроки» слева направо, функция возвращает индекс первого символа в строке из искомой подстроки, при отсутствие таковой возвращает -1; rfind() – поиск «подстроки» справа налево, функция возвращает индекс первого символа в строке из искомой подстроки, при отсутствие таковой возвращает -1. Пример: a = ‘Hello world! Hello!’ position = a.find(‘Hello!’) print(position) a = ‘Hello world! Hello!’ position = a.rfind(‘Hello!’) print(position) #Необходимо обратить внимание на то, что функции дадут разный результат, поскольку в одном случае найдется первое вхождение слева, а в другом справа. 4 a = ‘Hello world! Hello!’ position = a.count(‘Hello!’) print(position) В сроке можно осуществлять замены одних фрагментов на другие. С этим работает функция replace(). Пример: sms = "'IT-мозги' - это одна из лучших компаний, которая занимается разработкой абсолютно нового, усовершенствованного программного обеспечения. 'IT-мозги' охватывает большинство сфер жизни, внося новые IT технологии. 'IT-мозги' - это карьерный рост и престижное место работы. 'ITмозги' - это компания будущего, которая готова сотрудничать с большим количеством партнёров." print(sms.replace('IT-мозги', 'IT-способности')) В Python возможно «склеить» две и более строки в одну с помощью оператора «+». Называется это конкатенацией срок. А также возможно дублирование строк (мультипликация) с помощью оператора «*». 1.3. Примеры разбора задач на работу с строковым типом данных. Задача 1. Программа должна получать на вход слово и печатать его первый и последний символ через “-”. Решение: i = input() print(i[0] + '-' + i[len(i) -1]) Вывод: Задача 2. 5 Пользователь вводит строку. Используя цикл, напиши программу, которая выведет все её символы, с их порядковыми номерами. Обрати внимание!!! Перед и после символа '-' стоят пробелы! Решение: i = input() for a in range(len(i)): print(i[a], '-', a ) Вывод: Задача 3. Пользователь вводит строку, в которой все слова разделены пробелами. Используя метод count(), напиши программу, которая посчитает, сколько всего слов ввёл пользователь. Решение: print(input().count(' ') + 1) Вывод: Задача 4. 6 Напиши программу-дешифратор, которая перевернёт все слова, записанные в переменных в нужный порядок, а затем, используя метод replace(), замени символы ‘a’, ‘b’, ‘c’, ‘d’, на получившиеся строки. Решение: sms = "a, я b c d!" a = "етинивзи" b = "лыбаз" c = "ьтасипан" d = "ротарфишед" a1 = a[::-1] b1 = b[::-1] c1 = c[::-1] d1 = d[::-1] answer = sms.replace("a",a1) answer2 = answer.replace("b",b1) answer3 = answer2.replace("c",c1) answer4 = answer3.replace("d",d1) print(answer4) Вывод: Выводы. Данный справочный материл позволил нам понять, как устроен строковый тип данных в Python и в каких задачах может быть применим. Также были разобраны и изучены основные методы для работы со строковыми объектами. 7