Условия Python, являются неотъемлемой частью как в Python так и практически в любом языке программирования. С помощью условий вы можете создавать различные сценарии в вашем приложении. Ниже представлен список практических задач для закрепления теоретических знаний.
Содержание:
- Проверка на четность числа
- Проверка квадратного уравнения на наличие корней
- Проверка возраста для входа на сайт
- Проверка треугольника на тип
- Проверка среднего арифметического чисел
- Проверка сезона по месяцу
- Проверка категории веса
- Проверка простоты числа
- Проверка четности числа
- Поиск максимального числа
- Проверка делимости числа
- Проверка возраста
- Поиск минимального числа
- Проверка года на високосность
- Подсчет количества гласных
- Определение четности числа
- Проверка типа символа
- Проверка простого числа
- Проверка паллиндрома
- Подсчет четных и нечетных символов
- Поиск факториала числа
- Поиск наибольшего делителя
- Вычисление среднего арифметического
- Поиск простых чисел в диапазоне
- Проверка совершенного числа
- Решето Эратосфена
- Вычисление числа Фибоначчи
- Поиск наибольшей общей последовательности
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}")
В данной программе мы используем динамическое программирование для нахождения наибольшей общей подпоследовательности двух строк. Мы запрашиваем у пользователя две строки и затем находим и выводим их наибольшую общую последовательность.
