ЛР / laba_py(3)
.docxФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ
УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ
«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ТЕЛЕКОММУНИКАЦИЙ ИМ. ПРОФ. М.А. БОНЧ-БРУЕВИЧА»
(СПбГУТ)
_______________________________________________________________
Факультет Информационных технологий и программной инженерии
Кафедра систем обработки данных
Дисциплина «Программирование на языке Питон»
ОТЧЕТ
по практическому занятию №1
Тема: Работа с массивами и строками. Задача обработки палиндрома.
Выполнили
Студенты 3 курса, гр. ИСТ-223
____________ Коваленко А. А.
____________ Хакова Ю. М.
Принял
____________Бородянский Ю.М.
Цель работы :
Изучение общих принципов программирования в среде Python.
Написание приложения, осуществляющего поиск в случайно созданном тексте "слов", являющихся палиндромами, заполнение найденными "словами" массива и распечатка полученного массива на экране.
Задание:
Необходимо создать консольное приложение, осуществляющее генерацию случайного текста в размере не менее чем 100 строк. Все "слова" текста составляются программой автоматически из случайно выбранных букв. После создания текста программа осуществляет поиск в тексте слов – палиндромов (то есть таких слов, которые одинаково читаются слева – направо и справа – налево), заполняет этими словами массив и распечатывает на экране исходный текст и найденные палиндромы. Для простоты размер всех "слов" взять одинаковым. Размер "слова" задается пользователем путем ввода с клавиатуры.
Ход работы:
Рисунок 1. Выполняемый кодом и его результат
Вывод:
Данная программа может быть полезна в следующих областях:
Тестирование: Генерация случайного текста может быть использована для тестирования различных алгоритмов обработки текста, включая системы поиска и фильтрации данных.
Игры и развлечения: Программа может быть адаптирована для создания игр на основе слов или головоломок, связанных с палиндромами.
Приложение 1.
Листинг кода:
mport random
def random_text(n, l):
rText = []
for i in range(n):
word = ''.join(random.choice('абвгдежзиклмнопрстуфхцчшщъыьэюя') for _ in range(l))
rText.append(word)
return rText
def is_palindrome(text):
polindrome = []
for word in text:
if word == word[::-1]:
polindrome.append(word)
return polindrome
def main():
N = int(input('Количество слов в тексте: '))
L = int(input('Количество букв в слове: '))
text = random_text(N, L)
palindrome_words = is_palindrome(text)
print("текст:")
print((' '.join(text)))
print("\nпалиндромы:")
print((' '.join(palindrome_words)))
main()
Санкт-Петербург
2024
