Новая Школа - онлайн-школа подготовки к ЕГЭ
Задача Задача №3537574
А
Аноним
16 декабря 2025 08:28 · публичный вопрос
А
Аноним

придумай задачи на python: по две на if else , for k in range, while

Ответ нейросети
16 декабря 2025 08:28

Ниже шесть задач на Python по вашим трём категориям: по две задачи на if/else, for k in range и while. Для каждой задачи — формулировка, пример входа/выхода и подробное решение с пошаговыми объяснениями и примером кода.

  1. Задачи на if/else

Задача 1. Категория возраста

  • Формулировка: Вводится возраст (целое число). Нужно вывести категорию:
    • "детство" для 0–12,
    • "подросток" для 13–17,
    • "взрослый" для 18–64,
    • "пожилой" для 65 и старше. Также добавить сообщение об ошибке для отрицательного возраста.
  • Вход: возраст (int)
  • Выход: строка с категорией или сообщение об ошибке
  • Пример: Вход: 15 Выход: подросток

Решение (пошагово):

  • Читать возраст.
  • Если возраст меньше 0 — вывести сообщение об ошибке.
  • Иначе проверять диапазоны по возрастанию: <=12, <=17, <=64, иначе.
  • Вывод соответствующей строки.

Код:

# Задача 1: возрастная категория (if/else)
age = int(input("Введите возраст: "))

if age < 0:
    print("Некорректный возраст")
elif age <= 12:
    print("детство")
elif age <= 17:
    print("подросток")
elif age <= 64:
    print("взрослый")
else:
    print("пожилой")

Пояснение:

  • Первым идет дополнительная проверка на отрицательное значение.
  • Затем последовательные условия охватывают диапазоны без перекрытий.
  • По порядку условий ускоряет ветвления: каждый следующей блок выполняется только если предыдущий не сработал.

Задача 2. Оценка экзамена

  • Формулировка: по введённому баллу экзамена (0–100) вывести статус:
    • "отлично" (90–100),
    • "хорошо" (75–89),
    • "средне" (60–74),
    • "неудовлетворительно" (<60). Также учесть некорректные значения балла (<0 или >100).
  • Вход: балл (int)
  • Выход: строка с оценкой
  • Пример: Вход: 82 Выход: хорошо

Решение:

  • Читать балл.
  • Проверить диапазон: если не в [0,100] — ошибка.
  • Затем последовательные сравнения: >=90, >=75, >=60, иначе.
  • Вывод соответствующей строки.

Код:

# Задача 2: оценка экзамена (if/else)
score = int(input("Введите балл (0-100): "))

if score < 0 or score > 100:
    print("Некорректный балл")
elif score >= 90:
    print("отлично")
elif score >= 75:
    print("хорошо")
elif score >= 60:
    print("средне")
else:
    print("неудовлетворительно")

Пояснение:

  • Сначала валидируем значение балла.
  • Далее идёт филтрация по диапазонам от верхнего к нижнему, чтобы избежать лишних проверок и правильно классифицировать балл.
  1. Задачи на for k in range

Задача 3. Таблица умножения для числа n

  • Формулировка: по введённому n вывести таблицу умножения n на числа 1..12 в виде строк вида "n x i = результат".
  • Вход: n (int)
  • Выход: 12 строк с таблицей
  • Пример: Ввод: 7 Вывод: 7 x 1 = 7 7 x 2 = 14 ... 7 x 12 = 84

Решение:

  • Считать n.
  • Цикл от 1 до 12 включительно (range(1, 13)).
  • В каждой итерации печать строки с форматом f"{n} x {i} = {n*i}".

Код:

# Задача 3: таблица умножения (for range)
n = int(input("Введите число: "))

for i in range(1, 13):
    print(f"{n} x {i} = {n * i}")

Пояснение:

  • range(1, 13) даёт числа 1..12.
  • Форматированная строка позволяет красиво вывести результат.

Задача 4. Список квадратов от 0 до n

  • Формулировка: по введённому n создать список квадратов чисел от 0 до n включительно. Вывести получившийся список.
  • Вход: n (int, n >= 0)
  • Выход: список квадратов
  • Пример: Ввод: 4 Вывод: [0, 1, 4, 9, 16]

Решение:

  • Считать n.
  • Инициализировать пустой список.
  • Цикл i от 0 до n включительно (range(n+1)).
  • Добавлять i*i в список.
  • Печатать список.

Код:

# Задача 4: квадраты чисел от 0 до n (for range)
n = int(input("Введите n (>=0): "))

squares = []
for i in range(n + 1):
    squares.append(i * i)

print(squares)

Пояснение:

  • range(n+1) включает n, поэтому охватываем диапазон 0..n.
  • Формируем список пошагово и показываем результат.
  1. Задачи на while

Задача 5. Сумма чётных чисел до n

  • Формулировка: по введённому n вывести сумму всех чётных чисел от 2 до n включительно. Если n < 2, сумма равна 0.
  • Вход: n (int)
  • Выход: сумма (int)
  • Пример: Ввод: 10 Вывод: 30 (2+4+6+8+10)

Решение:

  • Read n.
  • Если n < 2 — вывести 0.
  • Инициализировать сумму = 0 и начальный счётчик i = 2.
  • Пока i <= n, добавлять i к сумме и шагать на 2.
  • Вывести сумму.

Код:

# Задача 5: сумма чётных чисел до n (while)
n = int(input("Введите n: "))

sum_even = 0
i = 2
while i <= n:
    sum_even += i
    i += 2

print(sum_even)

Пояснение:

  • Цикл идёт по чётным числам без лишних проверок.
  • Если n < 2 цикл не выполнится и вернёт 0.

Задача 6. Подсчитать количество цифр в числе с помощью while

  • Формулировка: по введённому целому числу посчитать количество цифр. Учесть случай нуля и отрицательных чисел.
  • Вход: n (int)
  • Выход: количество цифр (int)
  • Пример: Ввод: 12345 Вывод: 5

Решение:

  • Если число равно 0, ответ — 1.
  • Берём модуль числа (abs) для учёта отрицательных чисел.
  • Инициируем счётчик digits = 0.
  • Пока число > 0, делим на 10 и увеличиваем digits.
  • Вывод digits.

Код:

# Задача 6: количество цифр в числе (while)
n = int(input("Введите число: "))

if n == 0:
    print(1)
else:
    n = abs(n)
    digits = 0
    while n > 0:
        n //= 10
        digits += 1
    print(digits)

Пояснение:

  • Для 0 специальный случай — одна цифра.
  • Для остальных чисел берём abs(n) и делим на 10, считая шаги, пока не останется число слишком маленькое.
  • Работа с отрицательными числами обеспечена через abs.

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