Придумай задачи на python: по две на if else , for k in range, while
Ответ нейросети
16 декабря 2025 08:28
Ниже привожу 6 задач по Python — по две на каждый из трёх тем: if-else, for k in range и while. Для каждой задачи есть описание, пример ввода/вывода, подробное пошаговое решение и готовый код. Это подходит для учебы в средней школе.
- Тема: if-else (первая задача) Задача 1: Определить знак числа
- Описание: Программа читает целое число n. Если n больше 0 — вывести "положительное"; если меньше 0 — "отрицательное"; если ноль — "ноль".
- Пример ввода: 7
- Пример вывода: положительное
Решение пошагово:
- Считываем n.
- Сравниваем: если n > 0 — выводим "положительное".
- Иначе, если n < 0 — выводим "отрицательное".
- Иначе — выводим "ноль".
Код: def sign_classify(n): if n > 0: return "положительное" elif n < 0: return "отрицательное" else: return "ноль"
Пример использования
n = int(input("Введите число: "))
print(sign_classify(n))
Объяснение по шагам:
- Оператор if сначала проверяет знак числа.
- elif добавляет альтернативу для случая, когда число отрицательное.
- else ловит случай, когда n равен нулю.
- Возвращаем строку, которую можно вывести пользователю.
Задача 1 готова к запуску в любом окружении Python.
- Тема: if-else Задача 2: Категория возраста
- Описание: Программа читает возраст age (целое число) и определяет категорию:
- "детский" если age < 13
- "подросток" если 13 <= age < 18
- "взрослый" если age >= 18
- Пример ввода: 15
- Пример вывода: подросток
Решение пошагово:
- Считываем age.
- Проверяем сначала верхнюю границу: если age < 13 — детский.
- Далее если age < 18 — подросток.
- Иначе — взрослый.
Код: def age_category(age): if age < 13: return "детский" elif age < 18: return "подросток" else: return "взрослый"
Пример использования
age = int(input("Введите возраст: "))
print(age_category(age))
Объяснение по шагам:
- Логика ветвления обеспечивает корректную категоризацию без пересечения условий.
- Благодаря последовательности условий мы избегаем лишних проверок.
2 задачи на тему if-else завершены.
- Тема: for k in range Задача 3: Печать первых n чётных чисел
- Описание: Программа читает натуральное n и печатает чётные числа 2, 4, ..., 2n.
- Пример ввода: 5
- Пример вывода: 2 4 6 8 10
Решение пошагово:
- Считываем n.
- Используем цикл for с диапазоном от 1 до n включительно.
- На каждой итерации печатаем 2*i (получаем чётное число).
Код: def first_n_evens(n): evens = [] for i in range(1, n + 1): evens.append(2 * i) return evens
Пример использования
n = int(input("Введите n: "))
print(" ".join(map(str, first_n_evens(n))))
Объяснение по шагам:
- range(1, n+1) дает последовательность 1, 2, ..., n.
- Умножаем каждый индекс на 2, получаем очередные чётные числа.
- Собираем их в список и выводим в формате строки.
Задача 3 завершена.
Задача 4: Пирамидка из квадратов
- Описание: Программа читает натуральное n и формирует список квадратов чисел от 1 до n: 1, 4, 9, ..., n^2.
- Пример ввода: 4
- Пример вывода: [1, 4, 9, 16]
Решение пошагово:
- Считываем n.
- Циклом for по i от 1 до n добавляем i*i в список.
- Выводим итоговый список.
Код: def squares_upto(n): squares = [] for i in range(1, n + 1): squares.append(i * i) return squares
Пример использования
n = int(input("Введите n: "))
print(squares_upto(n))
Объяснение по шагам:
- for позволяет пройти по всем целым i от 1 до n включительно.
- На каждой итерации вычисляем квадрат и добавляем в список.
- В конце получаем полный набор квадратов.
Задачи на тему for k in range завершены.
Тема: while Задача 5: НОД (наибольший общий делитель) двумя числами
- Описание: Программа читает два целых числа a и b и находит их НОД с помощью алгоритма Евклида (циклом while).
- Пример ввода: a=48, b=18
- Пример вывода: 6
Решение пошагово:
- Берем модуль абс. значений, чтобы избежать отрицательных остатков.
- Пока b не равно 0, делаем: a, b = b, a % b.
- Когда цикл заканчивается, a содержит НОД.
Код: def gcd(a, b): a, b = abs(a), abs(b) while b != 0: a, b = b, a % b return a
Пример использования
a = int(input("a = "))
b = int(input("b = "))
print("НОД =", gcd(a, b))
Объяснение по шагам:
- В каждом шаге меньшее число становится остатком от деления предыдущего.
- Цикл завершается, когда второй аргумент становится 0, и первый аргумент — это НОД.
Задача 5 завершена.
Задача 6: Число Фибоначчи по индексу n (через while)
- Описание: Программа читает n (n >= 1) и выводит n-е число Фибоначчи. Пусть F1 = 1, F2 = 1, Fk = F_{k-1} + F_{k-2}.
- Пример ввода: 6
- Пример вывода: 8
Решение пошагово:
- Обработать случаи n=1 и n=2: вернуть 1.
- Инициализируем две переменные, которые хранят два предыдущих числа Фибоначчи.
- Используем цикл while, чтобы пошагово вычислять следующее число и продвигать окно предыдущих значений.
- После цикла возвращаем нужное значение.
Код: def fibonacci(n): if n <= 0: return 0 if n == 1 or n == 2: return 1 a, b = 1, 1 # F1 = 1, F2 = 1 i = 2 while i < n: a, b = b, a + b # сдвигаем окно: F_{i-1}, F_i -> F_i, F_{i+1} i += 1 return b
Пример использования
n = int(input("Введите n: "))
print("F(n) =", fibonacci(n))
Объяснение по шагам:
- Для n=1 и n=2 результат известен: 1.
- В цикле while обновляем два последних значения Фибоначчи: b становится новым F_i, a — прежний F_{i-1}.
- Когда цикл заканчивается, переменная b держит F_n.
Задача 6 завершена.
Итого:
- 2 задачи на if-else: классификация знака числа; категория возраста.
- 2 задачи на for k in range: печать первых n чётных чисел; список квадратов 1..n.
- 2 задачи на while: НОД двумя числами; вычисление n-го числа Фибоначчи.
Если хочешь, могу адаптировать эти задачи под конкретный класс или сделать более простые/сложные варианты, добавить тесты или примеры ввода.
Понравился ответ?
Задай свой вопрос
Напиши любую задачу или вопрос, а нейросеть её решит



