"""
Автор: Моисеенко Павел, группа № 1, подгруппа № 2.
ЛР 10. Задание: доработать программу для поиска подстроки в тексте.
"""
def main():
searchable_str = input("Введите строку, по которой мы ищем: ")
input_str = input("Введите строку для поиска: ")
choice = None
while choice != '4':
print('1 — поиск первого вхождения подстроки.')
print('2 — замена первой подстроки.')
print('3 — найти все вхождения подстроки.')
print('4 — для выхода.')
choice = input("Сделайте выбор (1..4): ")
if choice == '1':
search_str(searchable_str, input_str)
if choice == '2':
rep_str = input('Введите строку для замены: ')
search_n_replace_str(searchable_str, input_str, rep_str)
if choice == '3':
search_all_str(searchable_str, input_str)
def search_str(str_searchable, str_input):
entry = str_searchable.find(str_input)
if entry != -1:
print('Первое вхождение подстроки: ', entry, "\n")
else:
print('Нет вхождений подстроки.\n')
def search_n_replace_str(str_searchable, str_input, str_rep):
print('Получившаяся строка: ', str_searchable.replace(str_input, str_rep, 1), "\n")
def search_all_str(str_searchable, str_input):
entry = str_searchable.find(str_input)
if entry != -1:
print('Первое вхождение подстроки: ', entry)
else:
print('Нет вхождений подстроки.\n')
line = len(str_searchable)
length = len(str_input)
while entry != -1:
entry = str_searchable.find(str_input, entry + length, line)
if entry != -1:
print('Вхождение подстроки: ', entry)
else:
print('Больше вхождений нет.\n')
main()"""
Автор: Моисеенко Павел, группа № 1, подгруппа № 2.
ЛР 11. Задание: доработать программу для работы с файлами.
"""
def json_function():
import json
help_logs = open('file.json')
data_list = json.load(help_logs)
return data_list
def csv_function(data_list):
import csv
with open('file.csv', 'w', newline='') as csv_file_handler:
csv_writer = csv.writer(
csv_file_handler,
delimiter=';',
quotechar='"',
quoting=csv.QUOTE_MINIMAL)
csv_writer.writerow(list(data_list[0].keys()))
for d_dict in data_list:
csv_writer.writerow(list(d_dict.values()))
data = json_function()
csv_function(data)"""
Автор: Моисеенко Павел, группа № 1, подгруппа № 2.
ИСР 3.2. Задание: разработайте сценарий с реализацией операции поиска подстроки в тексте.
"""
def all_occurrences(search_string, what_to_find):
occurrence = search_string.find(what_to_find)
if occurrence != -1:
print('Первое вхождение подстроки:', occurrence)
else:
print('Нет вхождений подстроки.')
length_search_string = len(search_string)
length_what_to_find = len(what_to_find)
while occurrence != -1:
occurrence = search_string.find(what_to_find, occurrence +
length_what_to_find,
length_search_string)
if occurrence != -1:
print('Вхождение подстроки:', occurrence)
else:
print('Больше вхождений нет.')
def main():
search_string = input("Введите строку. ")
what_to_find = input("Что бы вы хотели найти? ")
all_occurrences(search_string, what_to_find)
main()3.3. Создание скрипта для считывания данных справочных логов из текстового файла и преобразования их в CSV-формат с последующей записью в новый файл.
"""
Автор: Моисеенко Павел, группа № 1, подгруппа № 2.
ИСР 3.3. Задание: создайте скрипт для считывания данных справочных
логов из текстового файла и преобразования их в CSV-формат с после-
дующей записью в новый файл.
"""
def json_function():
import json
help_logs = open('file.json')
data_list = json.load(help_logs)
return data_list
def csv_function(data_list):
import csv
with open('file.csv', 'w', newline='') as csv_file_handler:
csv_writer = csv.writer(
csv_file_handler,
delimiter=';',
quotechar='"',
quoting=csv.QUOTE_MINIMAL)
csv_writer.writerow(list(data_list[0].keys()))
for d_dict in data_list:
csv_writer.writerow(list(d_dict.values()))
data = json_function()
csv_function(data)3.4. Реализация программы, шифрующей строку, задаваемую пользователем, с помощью алгоритма шифрования ROT13.
"""
Автор: Моисеенко Павел, группа № 1, подгруппа № 2.
Задание: реализовать программу шифрующую строку, задаваемую
пользователем, с помощью алгоритма шифрования ROT13.
"""
def rot13(letter):
if ord("a") + 13 > ord(letter) >= ord("a"):
return chr(ord(letter) + 13)
elif ord("z") >= ord(letter) >= ord("a") + 13:
return chr(ord(letter) - 13)
else:
return letter
def main():
text_to_encrypt = input("Введите текст, который нужно зашифровать: ")
cipher_text = "".join(list(map(rot13, text_to_encrypt)))
print("Результат шифрования:", cipher_text)
main()3.1. Реализация программы-игры «Угадай число», в которой для вывода на экран информации используется метод format.
"""
Автор: Моисеенко Павел, группа № 1, подгруппа № 2.
ИСР 3.3. Задание: реализовать программу-игру «Угадай число», в
которой для вывода на экран информации использовать метод format.
"""
def guess_number(a, b):
import random
random_number = random.randint(a, b)
user_number = -0.5
while random_number != user_number:
user_number = int(input('Введите число: '))
if user_number < random_number:
print('Вы не угадали, введите число больше.')
elif user_number > random_number:
print('Вы не угадали, введите число меньше.')
print('Вы угадали число {} из диапазона [{}, {}]!'.format(random_number,
a, b))
def main():
print('Введите диапазон для игры.')
a = int(input('Нижний предел: '))
b = int(input('Верхний предел: '))
guess_number(a, b)
main()3.2. Реализация программы с шифрованием текста с помощью шифра Цезаря и возможностью задания сдвига.
"""
Автор: Моисеенко Павел, группа № 1, подгруппа № 2.
ВСР 3.2. Задание: реализовать программу шифрующую строку, задава-
емую пользователем, с помощью алгоритма шифрования, использующего
сдвиг на определенное количество знаков (шифр Цезаря). Сдвиг
задается пользователем.
"""
def caesar_cipher(shift, text_to_encrypt):
cipher_text = ''
for i in text_to_encrypt:
if 'a' <= i <= 'z':
algorithm = chr((ord(i) + shift - ord('a')) % 26 + ord('a'))
cipher_text += algorithm
elif 'A' <= i <= 'Z':
algorithm = chr((ord(i) + shift - ord('A')) % 26 + ord('A'))
cipher_text += algorithm
elif 'а' <= i <= 'я':
algorithm = chr((ord(i) + shift - ord('а')) % 30 + ord('а'))
cipher_text += algorithm
elif 'А' <= i <= 'Я':
algorithm = chr((ord(i) + shift - ord('А')) % 30 + ord('А'))
cipher_text += algorithm
else:
cipher_text += i
return cipher_text
def main():
text_to_encrypt = input('Введите строку: ')
shift = int(input('Введите сдвиг: '))
print('Получившаяся строка:', caesar_cipher(shift, text_to_encrypt))
main()





