Документация по Python. Теоретические материалы, и практические задачи

Условия Python

Условия Python, являются неотъемлемой частью как в Python так и практически в любом языке программирования. С помощью условий вы можете создавать различные сценарии в вашем приложении. Ниже представлен список практических задач для закрепления теоретических знаний.

Содержание:

  1. Проверка на четность числа
  2. Проверка квадратного уравнения на наличие корней
  3. Проверка возраста для входа на сайт
  4. Проверка треугольника на тип
  5. Проверка среднего арифметического чисел
  6. Проверка сезона по месяцу
  7. Проверка категории веса
  8. Проверка простоты числа
  9. Проверка четности числа
  10. Поиск максимального числа
  11. Проверка делимости числа
  12. Проверка возраста
  13. Поиск минимального числа
  14. Проверка года на високосность
  15. Подсчет количества гласных
  16. Определение четности числа
  17. Проверка типа символа
  18. Проверка простого числа
  19. Проверка паллиндрома
  20. Подсчет четных и нечетных символов
  21. Поиск факториала числа
  22. Поиск наибольшего делителя
  23. Вычисление среднего арифметического
  24. Поиск простых чисел в диапазоне
  25. Проверка совершенного числа
  26. Решето Эратосфена
  27. Вычисление числа Фибоначчи
  28. Поиск наибольшей общей последовательности

1.Задача: Проверка на четность числа

Описание задачи

Необходимо написать программу, которая будет запрашивать у пользователя число и выводить сообщение о том, является ли данное число четным или нечетным.

Решение задачи

                    
# Запрос ввода числа у пользователя
num = int(input("Введите целое число: "))

# Проверка на четность и вывод соответствующего сообщения
if num % 2 == 0:
    print(f"Число {num} является четным.")
else:
    print(f"Число {num} является нечетным.")

В данной программе мы сначала запрашиваем у пользователя ввод целого числа. Затем с помощью операции взятия остатка от деления (%) находим остаток при делении этого числа на 2. Если остаток равен 0, то число четное, иначе — нечетное. В зависимости от результата выводится соответствующее сообщение.

2.Задача: Проверка квадратного уравнения на наличие корней

Описание задачи

Требуется написать программу, которая запрашивает у пользователя коэффициенты квадратного уравнения (a, b, c) и определяет количество и тип корней данного уравнения.

Решение задачи

                    
import math

# Запрос ввода коэффициентов у пользователя
a = float(input("Введите коэффициент a: "))
b = float(input("Введите коэффициент b: "))
c = float(input("Введите коэффициент c: "))

# Вычисление дискриминанта
discriminant = b**2 - 4*a*c

# Проверка наличия корней
if discriminant > 0:
    x1 = (-b + math.sqrt(discriminant)) / (2*a)
    x2 = (-b - math.sqrt(discriminant)) / (2*a)
    print(f"Уравнение имеет два вещественных корня: x1 = {x1}, x2 = {x2}")
elif discriminant == 0:
    x = -b / (2*a)
    print(f"Уравнение имеет один вещественный корень: x = {x}")
else:
    print("Уравнение не имеет вещественных корней")

В этой программе мы сначала запрашиваем у пользователя ввод коэффициентов квадратного уравнения. Затем вычисляем дискриминант и проверяем его значение. В зависимости от результата выводится информация о количестве и типе корней уравнения.

3.Задача: Проверка возраста для входа на сайт

Описание задачи

Необходимо написать программу, которая запрашивает у пользователя его возраст и определяет, может ли он войти на сайт, допускающий посетителей только старше 18 лет.

Решение задачи

                    
# Запрос ввода возраста у пользователя
age = int(input("Введите ваш возраст: "))

# Проверка возраста для входа на сайт
if age >= 18:
    print("Добро пожаловать! Вы можете войти на сайт.")
else:
    print("Извините, доступ к сайту разрешен только лицам старше 18 лет.")

В данной программе мы сначала запрашиваем у пользователя ввод своего возраста. Затем с помощью условного оператора проверяем, достиг ли пользователь 18-летнего возраста. В зависимости от результата выводится соответствующее сообщение о возможности входа на сайт.

4.Задача: Проверка треугольника на тип

Описание задачи

Требуется написать программу, которая запрашивает у пользователя длины трех сторон треугольника и определяет его тип: равносторонний, равнобедренный, разносторонний или несуществующий.

Решение задачи

                    
# Запрос ввода длин сторон у пользователя
side1 = float(input("Введите длину первой стороны треугольника: "))
side2 = float(input("Введите длину второй стороны треугольника: "))
side3 = float(input("Введите длину третьей стороны треугольника: "))

# Проверка типа треугольника
if side1 == side2 == side3:
    print("Это равносторонний треугольник.")
elif side1 == side2 or side1 == side3 or side2 == side3:
    print("Это равнобедренный треугольник.")
else:
    print("Это разносторонний треугольник.")

В данной программе мы сначала запрашиваем у пользователя ввод длин трех сторон треугольника. Затем с помощью условных операторов проверяем соответствие длин сторон определенным типам треугольников (равносторонний, равнобедренный или разносторонний). В зависимости от результата выводится информация о типе треугольника.

5.Задача: Проверка среднего арифметического чисел

Описание задачи

Необходимо написать программу, которая запрашивает у пользователя три числа и определяет, больше ли среднее арифметическое из них заданного значения.

Решение задачи

                    
# Запрос ввода трех чисел у пользователя
num1 = float(input("Введите первое число: "))
num2 = float(input("Введите второе число: "))
num3 = float(input("Введите третье число: "))

# Вычисление среднего арифметического
average = (num1 + num2 + num3) / 3

# Проверка среднего арифметического
check_num = float(input("Введите значение для проверки: "))
if average > check_num:
    print(f"Среднее арифметическое ({average}) больше заданного значения.")
else:
    print(f"Среднее арифметическое ({average}) меньше или равно заданному значению.")

В данной программе мы сначала запрашиваем у пользователя ввод трех чисел. Затем вычисляем их среднее арифметическое и запрашиваем у пользователя значение для проверки. С помощью условного оператора проверяем, больше ли среднее арифметическое заданного значения. В зависимости от результата выводится соответствующее сообщение.

6.Задача: Проверка сезона по месяцу

Описание задачи

Требуется написать программу, которая запрашивает у пользователя номер месяца (от 1 до 12) и определяет соответствующий сезон.

Решение задачи

                    
# Запрос ввода номера месяца у пользователя
month = int(input("Введите номер месяца (от 1 до 12): "))

# Проверка сезона по номеру месяца
if month in [12, 1, 2]:
    season = "зима"
elif month in [3, 4, 5]:
    season = "весна"
elif month in [6, 7, 8]:
    season = "лето"
elif month in [9, 10, 11]:
    season = "осень"
else:
    season = "неверный номер месяца"

print(f"Месяц с номером {month} соответствует сезону: {season}.")

В данной программе мы сначала запрашиваем у пользователя номер месяца. Затем с помощью условных операторов проверяем номер месяца и определяем соответствующий сезон (зима, весна, лето, осень). В случае некорректного ввода номера месяца выводится сообщение об ошибке.

7.Задача: Проверка категории веса

Описание задачи

Необходимо написать программу, которая запрашивает у пользователя его вес и определяет категорию веса: недостаточный, нормальный, избыточный или ожирение.

Решение задачи

                    
# Запрос ввода веса у пользователя
weight = float(input("Введите ваш вес в кг: "))

# Расчет индекса массы тела (ИМТ)
height = float(input("Введите ваш рост в метрах: "))
bmi = weight / (height ** 2)

# Проверка категории веса по ИМТ
if bmi < 18.5:
    category = "недостаточный вес"
elif 18.5 <= bmi < 25:
    category = "нормальный вес"
elif 25 <= bmi < 30:
    category = "избыточный вес"
else:
    category = "ожирение"

print(f"Ваш индекс массы тела: {bmi:.2f}, это соответствует категории: {category}.")

В данной программе мы сначала запрашиваем у пользователя его вес и рост для расчета индекса массы тела (ИМТ). Затем с помощью условных операторов проверяем значение ИМТ и определяем категорию веса (недостаточный, нормальный, избыточный или ожирение) в зависимости от результата.

8.Задача: Проверка простоты числа

Описание задачи

Требуется написать программу, которая запрашивает у пользователя число и определяет, является ли это число простым.

Решение задачи

                    
# Запрос ввода числа у пользователя
num = int(input("Введите целое число больше 1: "))

# Проверка числа на простоту
is_prime = True
if num <= 1:
    is_prime = False
else:
    for i in range(2, int(num**0.5) + 1):
        if num % i == 0:
            is_prime = False
            break

if is_prime:
    print(f"Число {num} является простым.")
else:
    print(f"Число {num} не является простым.")

В данной программе мы сначала запрашиваем у пользователя ввод целого числа больше 1. Затем с помощью цикла проверяем число на простоту. Если число делится нацело на какое-либо число от 2 до квадратного корня из этого числа, то оно не является простым. В зависимости от результата выводится соответствующее сообщение.

9.Задача: Проверка четности числа

Описание задачи

Необходимо написать программу, которая запрашивает у пользователя число и определяет, является ли это число четным или нечетным.

Решение задачи

                    
# Запрос ввода числа у пользователя
number = int(input("Введите целое число: "))

# Проверка четности числа
if number % 2 == 0:
    print(f"Число {number} - четное.")
else:
    print(f"Число {number} - нечетное.")

В данной программе мы сначала запрашиваем у пользователя ввод целого числа. Затем с помощью условного оператора проверяем остаток от деления числа на 2. Если остаток равен нулю, то число четное, иначе — нечетное. В зависимости от результата выводится соответствующее сообщение.

10.Задача: Поиск максимального числа

Описание задачи

Требуется написать программу, которая запрашивает у пользователя три числа и определяет наибольшее из них.

Решение задачи

                    
# Запрос ввода трех чисел у пользователя
num1 = float(input("Введите первое число: "))
num2 = float(input("Введите второе число: "))
num3 = float(input("Введите третье число: "))

# Поиск максимального числа
max_num = max(num1, num2, num3)

print(f"Наибольшее число: {max_num}.")

В данной программе мы сначала запрашиваем у пользователя ввод трех чисел. Затем с помощью функции max() находим наибольшее из них и выводим результат.

11.Задача: Проверка делимости числа

Описание задачи

Необходимо написать программу, которая запрашивает у пользователя число и проверяет, делится ли оно на 5 и/или на 7.

Решение задачи

                    
# Запрос ввода числа у пользователя
number = int(input("Введите целое число: "))

# Проверка делимости на 5 и/или на 7
if number % 5 == 0 and number % 7 == 0:
    print(f"Число {number} делится одновременно на 5 и на 7.")
elif number % 5 == 0:
    print(f"Число {number} делится на 5, но не делится на 7.")
elif number % 7 == 0:
    print(f"Число {number} делится на 7, но не делится на 5.")
else:
    print(f"Число {number} не делится ни на 5, ни на 7 без остатка.")

В данной программе мы сначала запрашиваем у пользователя ввод целого числа. Затем с помощью условных операторов проверяем делится ли число на 5 и/или на 7. В зависимости от результата выводится соответствующее сообщение.

12.Задача: Проверка возраста

Описание задачи

Требуется написать программу, которая запрашивает у пользователя его возраст и определяет, в какую возрастную категорию он попадает: дети (0-12 лет), подростки (13-19 лет), взрослые (20+ лет).

Решение задачи

                    
# Запрос ввода возраста у пользователя
age = int(input("Введите ваш возраст: "))

# Проверка возрастной категории
if age < 0:
    print("Ошибка: Возраст не может быть отрицательным.")
elif age <= 12:
    category = "дети"
elif age <= 19:
    category = "подростки"
else:
    category = "взрослые"

print(f"Ваш возраст {age} лет, вы относитесь к категории: {category}.")

В данной программе мы сначала запрашиваем у пользователя его возраст. Затем с помощью условных операторов проверяем возраст и определяем соответствующую возрастную категорию (дети, подростки, взрослые). В случае некорректного ввода возраста выводится сообщение об ошибке.

13.Задача: Поиск минимального числа

Описание задачи

Требуется написать программу, которая запрашивает у пользователя три числа и определяет наименьшее из них.

Решение задачи

                    
# Запрос ввода трех чисел у пользователя
num1 = float(input("Введите первое число: "))
num2 = float(input("Введите второе число: "))
num3 = float(input("Введите третье число: "))

# Поиск минимального числа
min_num = min(num1, num2, num3)

print(f"Наименьшее число: {min_num}.")

В данной программе мы сначала запрашиваем у пользователя ввод трех чисел. Затем с помощью функции min() находим наименьшее из них и выводим результат.

14.Задача: Проверка года на високосность

Описание задачи

Необходимо написать программу, которая запрашивает у пользователя год и определяет, является ли этот год високосным.

Решение задачи

                    
# Запрос ввода года у пользователя
year = int(input("Введите год: "))

# Проверка на високосность
if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0):
    print(f"Год {year} - високосный.")
else:
    print(f"Год {year} - не високосный.")

В данной программе мы сначала запрашиваем у пользователя ввод года. Затем с помощью условных операторов проверяем год на високосность по следующим критериям: если год делится на 4, но не делится на 100, или год делится на 400, то он високосный; в противном случае — не високосный.

15.Задача: Подсчет количества гласных

Описание задачи

Необходимо написать программу, которая запрашивает у пользователя строку и подсчитывает количество гласных букв (a, e, i, o, u) в этой строке.

Решение задачи

                    
# Запрос ввода строки у пользователя
input_str = input("Введите строку: ").lower()  # Преобразование строки к нижнему регистру для учета всех возможных вариантов гласных

# Подсчет количества гласных
vowels = 'aeiou'
count = 0
for char in input_str:
    if char in vowels:
        count += 1

print(f"Количество гласных букв в строке: {count}.")

В данной программе мы сначала запрашиваем у пользователя ввод строки. Затем мы преобразуем строку к нижнему регистру для учета всех возможных вариантов гласных. Далее мы проходим по каждому символу в строке и проверяем, является ли он гласной буквой. Если да, увеличиваем счетчик. В конце выводим количество найденных гласных.

16.Задача: Определение четности числа

Описание задачи

Требуется написать программу, которая запрашивает у пользователя число и определяет, является ли оно четным или нечетным.

Решение задачи

                    
# Запрос ввода числа у пользователя
number = int(input("Введите целое число: "))

# Проверка на четность
if number % 2 == 0:
    print(f"Число {number} - четное.")
else:
    print(f"Число {number} - нечетное.")

В данной программе мы сначала запрашиваем у пользователя ввод числа. Затем с помощью условного оператора проверяем, делится ли число на 2 без остатка. Если да, то число четное, иначе — нечетное.

17.Задача: Проверка типа символа

Описание задачи

Требуется написать программу, которая запрашивает у пользователя символ и определяет, к какому типу он относится: буква, цифра или специальный символ.

Решение задачи

                    
# Запрос ввода символа у пользователя
symbol = input("Введите символ: ")

# Проверка типа символа
if symbol.isalpha():
    print("Это буква.")
elif symbol.isdigit():
    print("Это цифра.")
else:
    print("Это специальный символ.")

В данной программе мы сначала запрашиваем у пользователя ввод символа. Затем с помощью методов isalpha() и isdigit() проверяем, к какому типу относится введенный символ: буква, цифра или специальный символ.

18.Задача: Проверка простого числа

Описание задачи

Необходимо написать программу, которая запрашивает у пользователя число и определяет, является ли оно простым.

Решение задачи

                    
# Запрос ввода числа у пользователя
number = int(input("Введите целое число: "))

# Проверка на простоту
if number > 1:
    for i in range(2, int(number**0.5) + 1):
        if (number % i) == 0:
            print(f"Число {number} - не является простым.")
            break
    else:
        print(f"Число {number} - является простым.")
else:
    print(f"Число {number} - не является простым.")

В данной программе мы сначала запрашиваем у пользователя ввод числа. Затем мы проверяем, делится ли число нацело на какое-либо число от 2 до квадратного корня из этого числа. Если делится, то число не является простым, в противном случае — простое.

19.Задача: Проверка палиндрома

Описание задачи

Необходимо написать программу, которая запрашивает у пользователя слово или фразу и определяет, является ли она палиндромом (читается одинаково как с начала, так и с конца).

Решение задачи

                    
# Запрос ввода слова или фразы у пользователя
word = input("Введите слово или фразу: ").lower()  # Приводим к нижнему регистру для учета регистра символов

# Убираем пробелы из введенной строки
word = word.replace(" ", "")

# Проверка на палиндром
if word == word[::-1]:
    print(f"Слово или фраза '{word}' - палиндром.")
else:
    print(f"Слово или фраза '{word}' - не является палиндромом.")

В данной программе мы сначала запрашиваем у пользователя ввод слова или фразы. Затем мы удаляем пробелы из введенной строки и сравниваем ее с обратной строкой. Если слово или фраза читается одинаково в обоих направлениях, то они являются палиндромом.

20.Задача: Подсчет четных и нечетных чисел в списке

Описание задачи

Требуется написать программу, которая запрашивает у пользователя список чисел и подсчитывает количество четных и нечетных чисел в этом списке.

Решение задачи

                    
# Запрос ввода списка чисел у пользователя
numbers = input("Введите числа через пробел: ")
number_list = numbers.split()

# Подсчет четных и нечетных чисел
even_count = 0
odd_count = 0

for number in number_list:
    if int(number) % 2 == 0:
        even_count += 1
    else:
        odd_count += 1

print(f"Количество четных чисел: {even_count}")
print(f"Количество нечетных чисел: {odd_count}")

В данной программе мы сначала запрашиваем у пользователя ввод списка чисел. Затем мы разбиваем строку на список чисел и проходим по каждому числу в списке, проверяя, является ли оно четным или нечетным. Мы подсчитываем количество четных и нечетных чисел и выводим результат.

21.Задача: Поиск факториала числа

Описание задачи

Необходимо написать программу, которая запрашивает у пользователя число и вычисляет его факториал.

Решение задачи

                    
# Запрос ввода числа у пользователя
number = int(input("Введите целое положительное число: "))

# Вычисление факториала
factorial = 1
if number < 0:
    print("Факториал отрицательного числа не существует.")
elif number == 0:
    print("Факториал 0 равен 1.")
else:
    for i in range(1, number + 1):
        factorial *= i
    print(f"Факториал числа {number} равен {factorial}.")

В данной программе мы сначала запрашиваем у пользователя ввод числа. Затем мы проверяем, является ли число положительным, отрицательным или нулем, и вычисляем его факториал соответственно.

22.Задача: Поиск наибольшего общего делителя (НОД)

Описание задачи

Требуется написать программу, которая запрашивает у пользователя два числа и находит их наибольший общий делитель.

Решение задачи

                    
# Запрос ввода двух чисел у пользователя
num1 = int(input("Введите первое число: "))
num2 = int(input("Введите второе число: "))

# Нахождение наибольшего общего делителя
def gcd(a, b):
    while b:
        a, b = b, a % b
    return a

gcd_result = gcd(num1, num2)
print(f"Наибольший общий делитель чисел {num1} и {num2}: {gcd_result}")

В данной программе мы сначала запрашиваем у пользователя ввод двух чисел. Затем мы используем алгоритм Евклида для нахождения наибольшего общего делителя (НОД) этих двух чисел и выводим результат.

23.Задача: Вычисление среднего арифметического

Описание задачи

Требуется написать программу, которая запрашивает у пользователя список чисел и вычисляет их среднее арифметическое.

Решение задачи

                    
# Запрос ввода списка чисел у пользователя
numbers = input("Введите числа через пробел: ")
number_list = numbers.split()

# Вычисление среднего арифметического
total = 0
count = 0
for number in number_list:
    total += float(number)
    count += 1

if count == 0:
    print("Список пуст.")
else:
    average = total / count
    print(f"Среднее арифметическое чисел: {average}")

В данной программе мы сначала запрашиваем у пользователя ввод списка чисел. Затем мы вычисляем их сумму и количество, после чего находим среднее арифметическое и выводим результат.

24.Задача: Поиск простых чисел в диапазоне

Описание задачи

Необходимо написать программу, которая запрашивает у пользователя верхнюю границу диапазона и выводит все простые числа в этом диапазоне.

Решение задачи

                    
# Запрос ввода верхней границы диапазона у пользователя
upper_limit = int(input("Введите верхнюю границу диапазона: "))

# Поиск простых чисел в диапазоне
prime_numbers = []
for num in range(2, upper_limit + 1):
    is_prime = True
    for i in range(2, int(num**0.5) + 1):
        if num % i == 0:
            is_prime = False
            break
    if is_prime and num > 1:
        prime_numbers.append(num)

print(f"Простые числа до {upper_limit}: {prime_numbers}")

В данной программе мы сначала запрашиваем у пользователя ввод верхней границы диапазона. Затем мы проходим по всем числам в диапазоне и проверяем, является ли каждое из них простым. Простые числа добавляются в список и выводятся на экран.

25.Задача: Проверка совершенного числа

Описание задачи

Требуется написать программу, которая запрашивает у пользователя число и определяет, является ли оно совершенным числом (число, равное сумме всех своих делителей, кроме самого числа).

Решение задачи

                    
# Запрос ввода числа у пользователя
number = int(input("Введите целое положительное число: "))

# Проверка на совершенное число
def is_perfect_number(num):
    divisors_sum = sum([i for i in range(1, num) if num % i == 0])
    return divisors_sum == num

if number <= 0:
    print("Число должно быть целым положительным.")
elif is_perfect_number(number):
    print(f"Число {number} - совершенное число.")
else:
    print(f"Число {number} - не является совершенным числом.")

В данной программе мы сначала запрашиваем у пользователя ввод числа. Затем мы определяем функцию для проверки, является ли число совершенным, и применяем эту функцию к введенному числу.

26.Задача: Решето Эратосфена

Описание задачи

Необходимо написать программу, которая находит все простые числа до заданного числа с использованием метода решета Эратосфена.

Решение задачи

                    
# Функция для поиска всех простых чисел до заданного числа
def sieve_of_eratosthenes(n):
    primes = []
    is_prime = [True] * (n + 1)
    is_prime[0], is_prime[1] = False, False
    for p in range(2, n + 1):
        if is_prime[p]:
            primes.append(p)
            for i in range(p*p, n+1, p):
                is_prime[i] = False
    return primes

# Запрос ввода верхней границы диапазона у пользователя
upper_limit = int(input("Введите верхнюю границу диапазона: "))

# Получение всех простых чисел до заданного числа
prime_numbers = sieve_of_eratosthenes(upper_limit)

print(f"Простые числа до {upper_limit}: {prime_numbers}")

В данной программе мы используем метод решета Эратосфена для поиска всех простых чисел до заданного числа. Мы создаем список булевых значений для каждого числа до верхней границы и последовательно отмечаем составные числа. В конце мы получаем список всех простых чисел до заданного числа и выводим его.

27.Задача: Вычисление числа Фибоначчи

Описание задачи

Требуется написать программу, которая запрашивает у пользователя число n и вычисляет n-ное число Фибоначчи.

Решение задачи

                    
# Функция для вычисления n-ного числа Фибоначчи
def fibonacci(n):
    if n <= 0:
        return "Число должно быть целым положительным."
    elif n == 1:
        return 0
    elif n == 2:
        return 1
    else:
        a, b = 0, 1
        for _ in range(2, n):
            a, b = b, a + b
        return b

# Запрос ввода числа у пользователя
num = int(input("Введите номер числа Фибоначчи: "))

# Вычисление n-ного числа Фибоначчи
result = fibonacci(num)
print(f"{num}-ное число Фибоначчи: {result}")

В данной программе мы используем функцию для вычисления n-ного числа Фибоначчи. Мы получаем от пользователя номер числа в последовательности и затем вычисляем соответствующее число с помощью алгоритма Фибоначчи.

28.Задача: Поиск наибольшей общей последовательности

Описание задачи

Необходимо написать программу, которая находит наибольшую общую последовательность (НОП) двух строк.

Решение задачи

                    
def longest_common_subsequence(str1, str2):
    m = len(str1)
    n = len(str2)
    dp = [[0] * (n + 1) for _ in range(m + 1)]

    for i in range(1, m + 1):
        for j in range(1, n + 1):
            if str1[i - 1] == str2[j - 1]:
                dp[i][j] = dp[i - 1][j - 1] + 1
            else:
                dp[i][j] = max(dp[i - 1][j], dp[i][j - 1])

    # Reconstruction of the longest common subsequence
    result = ""
    i, j = m, n
    while i > 0 and j > 0:
        if str1[i - 1] == str2[j - 1]:
            result = str1[i - 1] + result
            i -= 1
            j -= 1
        elif dp[i - 1][j] > dp[i][j - 1]:
            i -= 1
        else:
            j -= 1

    return result

# Запрос ввода двух строк у пользователя
string1 = input("Введите первую строку: ")
string2 = input("Введите вторую строку: ")

# Нахождение наибольшей общей последовательности
lcs = longest_common_subsequence(string1, string2)
print(f"Наибольшая общая последовательность: {lcs}")

В данной программе мы используем динамическое программирование для нахождения наибольшей общей подпоследовательности двух строк. Мы запрашиваем у пользователя две строки и затем находим и выводим их наибольшую общую последовательность.