Python
Легкие задачи на Python для начинающих
Эта подборка подходит для первых дней практики, когда синтаксис уже немного знаком, но код еще не складывается в уверенный навык
Задачи короткие, но не пустые: в каждой есть конкретный результат, подсказка, рабочее решение и проверка
Как работать с подборкой
Главная цель — спокойно набить руку на базовых действиях без скачка в сложные алгоритмы
Перед просмотром решения попробуйте написать хотя бы черновик. Если задача не идет, выпишите входные данные, ожидаемый результат и одно действие, которое нужно сделать первым
После решения измените данные и запустите код снова. Так вы быстрее увидите, где программа привязана только к одному примеру
Задачи с решениями
Задача 1. Приветствие по имени
Условие: Попросите пользователя ввести имя и выведите персональное приветствие
Подсказка: Сначала получите строку через input, затем соберите ответ через f-string
Решение:
name = input("Ваше имя: ").strip()
print(f"Привет, {name}!")
Проверка: Проверьте имя с пробелами по краям и пустой ввод
Задача 2. Сумма двух чисел
Условие: Прочитайте два числа и выведите их сумму
Подсказка: input возвращает строку, поэтому перед сложением нужен int или float
Решение:
a = int(input("Первое число: "))
b = int(input("Второе число: "))
print(a + b)
Проверка: Проверьте 2 и 3, затем -5 и 10
Задача 3. Четное или нечетное
Условие: Определите, является ли число четным
Подсказка: Остаток от деления на 2 показывает четность
Решение:
number = int(input("Число: "))
if number % 2 == 0:
print("Четное")
else:
print("Нечетное")
Проверка: Проверьте 0, 7 и 10
Задача 4. Счетчик от 1 до N
Условие: Пользователь вводит N, программа печатает числа от 1 до N
Подсказка: range в правой границе не включает последнее число
Решение:
n = int(input("N: "))
for number in range(1, n + 1):
print(number)
Проверка: Проверьте N = 1 и N = 5
Задача 5. Сумма чисел от 1 до N
Условие: Посчитайте сумму всех чисел от 1 до введенного N
Подсказка: Создайте переменную total и увеличивайте ее в цикле
Решение:
n = int(input("N: "))
total = 0
for number in range(1, n + 1):
total += number
print(total)
Проверка: Для N = 5 результат должен быть 15
Задача 6. Разворот строки
Условие: Разверните введенную строку в обратном порядке
Подсказка: Срез [::-1] берет строку с конца к началу
Решение:
text = input("Текст: ")
reversed_text = text[::-1]
print(reversed_text)
Проверка: Для python результат должен быть nohtyp
Задача 7. Сумма элементов списка
Условие: Дан список чисел, выведите сумму без встроенной функции sum
Подсказка: Пройдите по списку циклом и накопите total
Решение:
numbers = [3, 5, 2, 10]
total = 0
for number in numbers:
total += number
print(total)
Проверка: Сравните результат с sum(numbers)
Задача 8. Только положительные числа
Условие: Из списка чисел соберите новый список только с положительными значениями
Подсказка: Не удаляйте элементы из исходного списка во время обхода
Решение:
numbers = [-3, 0, 5, 8, -1]
positive = []
for number in numbers:
if number > 0:
positive.append(number)
print(positive)
Проверка: Результат должен быть [5, 8]
Задача 9. Подсчет слов
Условие: Посчитайте, сколько слов в строке
Подсказка: split без аргументов сам убирает лишние пробелы между словами
Решение:
text = "python is a good start"
words = text.split()
print(len(words))
Проверка: Проверьте строку с несколькими пробелами подряд
Задача 10. Функция скидки
Условие: Напишите функцию, которая принимает цену и процент скидки, возвращает новую цену
Подсказка: Функция должна возвращать результат через return, а не только печатать
Решение:
def apply_discount(price, percent):
discount = price * percent / 100
return price - discount
print(apply_discount(1000, 15))
Проверка: Для 1000 и 15 результат должен быть 850
Задача 11. Список покупок
Условие: Создайте список покупок, добавьте новый товар и выведите каждый товар отдельной строкой
Подсказка: append добавляет элемент в конец списка
Решение:
items = ["хлеб", "молоко"]
items.append("яблоки")
for item in items:
print(item)
Проверка: Проверьте, что исходные элементы не потерялись
Задача 12. Температура выше нормы
Условие: Дан список температур, выведите только значения выше 37
Подсказка: Фильтрация через if внутри цикла читается проще для новичка
Решение:
temperatures = [36.6, 37.2, 38.0, 36.9]
for temperature in temperatures:
if temperature > 37:
print(temperature)
Проверка: Результат должен показать 37.2 и 38.0
По этой теме полезно отдельно посмотреть Составьте еженедельное расписание занятий, чтобы расширить контекст и сравнить подходы
По этой теме полезно отдельно посмотреть Аннотации типов для декораторов в Python, чтобы расширить контекст и сравнить подходы
Как проверять свои решения
Для каждой задачи сделайте минимум три запуска: обычный пример, крайний пример и пример с неожиданными данными. Для чисел это может быть ноль или отрицательное значение, для строк — пустая строка, для списков — пустой список или повторяющиеся элементы
Если код работает, объясните его словами. Скажите, какие данные приходят на вход, что хранится в переменных, где меняется результат и почему программа останавливается
Частые ошибки новичков
- читать решение, но не запускать его руками
- менять сразу несколько строк и не понимать, какая из них сломала код
- называть переменные одной буквой там, где можно написать понятное имя
- забывать проверять пустые строки, пустые списки и ноль
- путать вывод через print и возврат результата через return
- оставлять код рабочим только для одного заранее выбранного примера
Дополнительные задачи
Задача 13. Минимум и максимум
Условие: Дан список чисел, выведите минимальное и максимальное значение без сортировки
Подсказка: Начните с первого элемента и обновляйте значения в цикле
Решение:
numbers = [8, 3, 10, -2, 5]
minimum = numbers[0]
maximum = numbers[0]
for number in numbers:
if number < minimum:
minimum = number
if number > maximum:
maximum = number
print(minimum, maximum)
Проверка: Добавьте повторяющиеся числа и один отрицательный элемент
Задача 14. Уникальные имена
Условие: Дан список имен, выведите имена без повторов в исходном порядке
Решение:
names = ["Анна", "Илья", "Анна", "Олег"]
unique = []
for name in names:
if name not in unique:
unique.append(name)
print(unique)
Проверка: Добавьте имя в другом регистре и решите, нужно ли считать его тем же именем