Python

Задачи по Пайтон для новичков: простая практика с ответами

Эта подборка подойдет после первых уроков, когда уже знакомы print, input, переменные, условия, циклы и списки

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

По этой теме полезно отдельно посмотреть Составьте еженедельное расписание занятий, чтобы расширить контекст и сравнить подходы

По этой теме полезно отдельно посмотреть Аннотации типов для декораторов в Python, чтобы расширить контекст и сравнить подходы

Как заниматься

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

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

Задачи с решениями

Задача 1. Сумма двух чисел

Прочитайте два числа и выведите сумму

Решение:

a = int(input("Первое число: "))
b = int(input("Второе число: "))
print(a + b)

Проверка: проверьте 2 и 3, затем -5 и 10

Задача 2. Четное число

Определите, является ли число четным

Решение:

number = int(input("Число: "))

if number % 2 == 0:
    print("четное")
else:
    print("нечетное")

Проверка: проверьте 0, 7 и 10

Задача 3. Сумма от 1 до N

Посчитайте сумму чисел от 1 до введенного N

Решение:

n = int(input("N: "))
total = 0

for number in range(1, n + 1):
    total += number

print(total)

Проверка: для N = 5 результат должен быть 15

Задача 4. Разворот строки

Разверните введенную строку

Решение:

text = input("Текст: ")
print(text[::-1])

Проверка: для python результат должен быть nohtyp

Задача 5. Положительные числа

Из списка оставьте только положительные числа

Решение:

numbers = [-3, 0, 5, 8, -1]
positive = []

for number in numbers:
    if number > 0:
        positive.append(number)

print(positive)

Проверка: результат должен быть [5, 8]

Задача 6. Подсчет слов

Посчитайте количество слов в строке

Решение:

text = "python  is a good start"
words = text.split()
print(len(words))

Проверка: проверьте строку с несколькими пробелами

Задача 7. Функция скидки

Напишите функцию, которая возвращает цену со скидкой

Решение:

def apply_discount(price, percent):
    return price - price * percent / 100

print(apply_discount(1000, 15))

Проверка: для 1000 и 15 результат должен быть 850

Задача 8. Частотный словарь

Посчитайте, сколько раз встречается каждое слово

Решение:

words = ["python", "sql", "python", "html"]
freq = {}

for word in words:
    freq[word] = freq.get(word, 0) + 1

print(freq)

Проверка: добавьте повтор sql и проверьте счетчик

Как проверять свои решения

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

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

Частые ошибки новичков

  • читать решение, но не запускать его
  • проверять только один красивый пример
  • забывать преобразовать input в число
  • менять список во время перебора без необходимости
  • писать слишком общие имена переменных
  • путать вывод через print и возврат через return

Дополнительные задачи

Задача 9. Второй максимум

Найдите второе по величине число в списке

numbers = [5, 1, 9, 9, 3]
unique_numbers = sorted(set(numbers), reverse=True)

if len(unique_numbers) >= 2:
    print(unique_numbers[1])
else:
    print("Недостаточно разных чисел")

Проверка: проверьте список, где все числа одинаковые

Задача 10. Группировка слов по первой букве

words = ["python", "php", "sql", "swift"]
groups = {}

for word in words:
    first_letter = word[0]
    groups.setdefault(first_letter, []).append(word)

print(groups)

Проверка: добавьте слово на уже существующую букву

Задача 11. Удаление дублей с сохранением порядка

items = ["a", "b", "a", "c", "b"]
result = []

for item in items:
    if item not in result:
        result.append(item)

print(result)

Проверка: проверьте пустой список и список без дублей

Задача 12. Простая функция проверки логина

def is_valid_login(login):
    login = login.strip()
    return len(login) >= 3 and login.isalnum()

print(is_valid_login("user1"))
print(is_valid_login(" a "))

Проверка: проверьте пробелы, короткий логин и символ !

Как усложнять после решения

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

Еще задачи для закрепления

Задача 13. Индексы четных чисел

Найдите индексы всех четных чисел в списке

Решение:

numbers = [3, 4, 8, 9, 10]
indexes = []

for index, number in enumerate(numbers):
    if number % 2 == 0:
        indexes.append(index)

print(indexes)

Проверка: проверьте список без четных чисел

Задача 14. Самое длинное слово

Решение:

words = ["python", "sql", "javascript"]
longest = ""

for word in words:
    if len(word) > len(longest):
        longest = word

print(longest)

Проверка: проверьте два слова одинаковой длины и пустой список

Задача 15. Сумма по категориям

Решение:

items = [
    {"category": "food", "amount": 300},
    {"category": "books", "amount": 900},
    {"category": "food", "amount": 250},
]

totals = {}

for item in items:
    category = item["category"]
    totals[category] = totals.get(category, 0) + item["amount"]

print(totals)

Проверка: добавьте новую категорию и пустой список

Задача 16. Меню команд

Решение:

commands = ["add", "list", "exit"]
command = "help"

if command in commands:
    print("Команда поддерживается")
else:
    print("Неизвестная команда")

Проверка: проверьте регистр букв и пробелы по краям

Как повторять задачи

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

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

Подписаться
Уведомить о
guest
0 комментариев
Старые
Новые Популярные

Настройки cookie

0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x