Баннер мобильный (3) Пройти тест

10 задач на Python для начинающих 

Бороться и искать, найти и не сдаваться!

Разбор

29 декабря 2025

Поделиться

Скопировано
10 задач на Python для начинающих 

Содержание

    Построим пирамиду из плюсов, научим программу распознавать простые и составные числа, попытаемся угадать загаданное программой число и еще кое-что интересное.

    Пара слов о Python

    Python — один из самых востребованных языков программирования, который занимает ведущие позиции в различных рейтингах. Этот язык широко используется такими крупными компаниями, как Google (для поисковых систем и искусственного интеллекта), YouTube, Reddit и Dropbox.

    Python отличается простым и понятным синтаксисом, что делает его идеальным выбором для начинающих программистов.

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

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

    Ключевым достоинством Python является обширное сообщество разработчиков, которые постоянно создают новые библиотеки и инструменты. Он отлично подходит для работы с большими данными, статистическим анализом и визуализацией. 

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

    Далее рассмотрим 10 несложных задач на Python, которые должен уметь решать каждый начинающий разработчик.

    Перевод градусов Фаренгейта в градусы Цельсия

    Пусть перед нами стоит следующая задача: написать программу, которая переводит значение температуры в градусах шкалы Фаренгейта в градусы шкалы Цельсия. Нам понадобится формула, связывающая эти две температурные шкалы:

    Фаренгейт в Цельсия формула

    Для ввода пользовательских данных используем функцию input, потом применим формулу и выведем результат в консоль. Код получится примерно такой:

    fahrenheit = float(input("Введите температуру в градусах Фаренгейта: "))
    celsius = (fahrenheit - 32) * 5/9
    print(f"{fahrenheit}°F = {celsius}°C")

    Пример работы программы:

    Введите температуру в градусах Фаренгейта: 50
    50.0°F = 10.0°C

    Пирамида из плюсов

    Написать программу, которая выводит в консоль пирамиду заданной высоты, состоящую из знаков плюс. Очевидно, что сначала нужно запросить у пользователя высоту, а потом уже запускать цикл, создающий пирамиду. В качестве цикла идеально подойдет цикл for.

    Так как выводить нужно именно пирамиду, то в теле цикла необходимо прописать переменные для пробелов и плюсов. С каждой новой итерацией количество пробелов должно уменьшаться, а количество плюсов увеличиваться. Код:

    height = int(input("Введите высоту пирамиды: "))
    
    for i in range(1, height + 1):
        spaces = " " * (height - i)
        plus_signs = 

    Вывод в консоли:

    Введите высоту пирамиды: 12
              +
             +++
            +++++
            +++++++
          +++++++++
          +++++++++++
        +++++++++++++
        +++++++++++++++
      +++++++++++++++++
      +++++++++++++++++++
    +++++++++++++++++++++
    +++++++++++++++++++++++

    Таблица умножения

    Допустим, нам нужно вывести в консоль таблицу умножения в формате 9 на 9. Сделать это можно при помощи вложенных циклов for. Один цикл создает строки, а другой столбцы. Код:

    for i in range(1, 10):
        for j in range(1, 10):
            print(i * j, end='\t')
        print()

    В консоли получим:

    1 2 3 4 5 6 7 8 9
    2 4 6 8 10 12 14 16 18
    3 6 9 12 15 18 21 24 27
    4 8 12 16 20 24 28 32 36
    5 10 15 20 25 30 35 40 45
    6 12 18 24 30 36 42 48 54
    7 14 21 28 35 42 49 56 63
    8 16 24 32 40 48 56 64 72
    9 18 27 36 45 54 63 72 81

    Обмен значений переменных

    Пусть даны две переменные a и b. Нужно написать программу, которая меняет значение этих переменных местами. Можно воспользоваться временной переменной temp_var, но перед этим надо не забыть запросить у пользователя значения переменных:

    a = input("Введите значение переменной a: ")
    b = input("Введите значение переменной b: ")
    
    temp_var = a
    a = b
    b = temp_var
    
    print(f"Значения переменных после обмена: a = {a}, b = {b}")

    А можно использовать множественное присваивание и тогда код станет немного короче и нет необходимости  вводить дополнительную переменную:

    a = input("Введите значение переменной a: ")
    b = input("Введите значение переменной b: ")
    
    a, b = b, a
    
    print(f"Значения переменных после обмена: a = {a}, b = {b}")

    И в том и в другом случае результат будет один и тот же. Пример работы программы:

    Введите значение переменной a: 5
    Введите значение переменной b: 1
    Значения переменных после обмена: a = 1, b = 5

    Угадай число

    Написать игру в угадывание числа. Программа загадывает число от 1 до 100, а пользователь пытается его угадать. Программа должна давать подсказки, когда загаданное число больше или меньше введенного пользователем. Когда, наконец, число будет угадано, игра выводит соответствующее сообщение с количеством попыток. 

    В самом начале генерируем число при помощи функции randint из модуля random. Потом инициализируем нулем переменную для подсчета попыток и далее запускаем цикл, в котором будут происходить все основные действия. Код игры:

    import random
    
    secret_number = random.randint(1, 100)
    
    print("Загадано число от 1 до 100. Попробуйте угадать его.")
    
    attempts = 0
    
    while True:
        guess_number = int(input("Введите ваше число: "))
        attempts += 1
    
        if guess_number < secret_number:
            print("Мое число больше!")
        elif guess_number > secret_number:
            print("Мое число меньше!")
        else:
            print(f"Вы угадали число за {attempts} попыток!")
            break

    Вариант вывода в консоли:

    Загадано число от 1 до 100. Попробуйте угадать его.
    Введите ваше число: 50
    Мое число больше!
    Введите ваше число: 60
    Мое число больше!
    Введите ваше число: 70
    Мое число больше!
    Введите ваше число: 80
    Мое число больше!
    Введите ваше число: 90
    Мое число больше!
    Введите ваше число: 100
    Мое число меньше!
    Введите ваше число: 95
    Мое число меньше!
    Введите ваше число: 94
    Мое число меньше!
    Введите ваше число: 93
    Мое число меньше!
    Введите ваше число: 92
    Мое число меньше!
    Введите ваше число: 91
    Вы угадали число за 11 попыток!

    Простое число или составное

    Как известно из школьного курса математики, простые числа — это такие натуральные числа больше 1, которые делятся без остатка только на 1 и на само себя. Все остальные числа называются составными. Пусть требуется написать программу, которая определяет простое число ввел пользователь или составное.

    Определение простоты числа вынесем в отдельную функцию. Проверку делителей будем производить при помощи цикла for. Конечно, можно просто перебрать все делители из диапазона от 2 до n-1, но мы воспользуемся следующими свойствами простых чисел, чтобы сократить количество итераций:

    • Кроме числа 2 все остальные простые числа нечетные.
    • Достаточно проверить делители до квадратного корня из числа, так как, если проверяемое число имеет делитель больше своего квадратного корня, то оно обязательно имеет и меньший делитель.

    Таким образом получаем следующий код:

    import math
    
    def is_prime(num):
        if num < 2:
            return False
        if num == 2:
            return True
        if num % 2 == 0:
            return False
        for i in range(3, int(math.sqrt(num)) + 1, 2):
            if num % i == 0:
                return False
        return True
    
    number = int(input("Введите число: "))
    
    if is_prime(number):
        print("Это простое число")
    else:
        print("Это составное число")

    Пример работы программы:

    Введите число: 7
    Это простое число

    Еще пример:

    Введите число: 10
    Это составное число

    Переворот строки и проверка на палиндром

    Запросить какую-нибудь строку у пользователя и вывести ее в обратном порядке. Сделать это можно при помощи среза строки с шагом -1:

    text = input("Введите строку: ")
    print(text[::-1])

    Вариант вывода в консоли:

    Введите строку: привет
    тевирп

    А как проверить введенную строку на палиндром? Палиндром — это строка, которая одинаково читается как в прямом, так и в обратном порядке. Для проверки на палиндром можно воспользоваться кодом предыдущей программы. Для верности удалим все пробелы и переведем символы в нижний регистр. Получим:

    text = input("Введите строку: ").replace(" ", "").lower()
    if text == text[::-1]:
        print("Это палиндром")
    else:
        print("Это не палиндром")

    Пример работы:

    Введите строку: привет
    Это не палиндром

    Еще пример:

    Введите строку: А роза упала на лапу Азора
    Это палиндром

    Сортировка чисел

    Дана следующая последовательность чисел:

    5, 7, 2, 8, 1, 6, 9, 3, 4

    И нужно отсортировать эти числа сначала по возрастанию, а потом по убыванию. Применим метод sort без параметров для сортировки по возрастанию, а для сортировки по убыванию установим для параметра reverse значение True. В итоге получим такой код:

    numbers = [5, 7, 2, 8, 1, 6, 9, 3, 4]
    numbers.sort()
    print(numbers)
    numbers.sort(reverse=True)
    print(numbers)

    Результат:

    [1, 2, 3, 4, 5, 6, 7, 8, 9]
    [9, 8, 7, 6, 5, 4, 3, 2, 1]

    Вычисление факториала

    Факториалом числа в математике называется произведение всех натуральных чисел от единицы до заданного числа включительно. Обозначается факториал восклицательным знаком, который ставится после числа. Примеры вычисления факториалов:

    2! = 1*2 = 2

    3! = 1*2*3 = 6

    4! = 1*2*3*4 = 24

    5! = 1*2*3*4*5 = 120

    Чтобы вычислить факториал на Python, применим цикл for с функцией range. До запуска цикла попросим пользователя ввести число и инициализируем переменную factorial единицей. Функция range будет генерировать натуральные числа из диапазона от 2 до введенного пользователем числа. 

    Каждое такое число поочередно присваиваться переменной-счетчику цикла, а в теле цикла этот счетчик во время очередной итерации умножается на переменную factorial. И таким образом, после завершения цикла, мы получим готовое значение факториала. Код программы:

    number = int(input("Введите число: "))
    factorial = 1
    for i in range(2, number + 1):
        factorial *= i
    print(factorial)

    Пример работы программы:

    Введите число: 5
    120

    Также можно использовать и цикл while для вычисления факториала. В условии цикла пропишем то, что переменная number должна быть больше единицы и последней командой в теле цикла будем постоянно уменьшать ее на единицу:

    number = int(input("Введите число: "))
    factorial = 1
    
    while number > 1:
        factorial *= number
        number -= 1
    
    print(factorial)

    Пример работы:

    Введите число: 4
    24

    Високосный год

    Високосный год — это год с одним дополнительным днем, который приходится на 29 февраля. Этот день добавляется каждые 4 года и нужен для синхронизации календарного года с обращением Земли вокруг Солнца. Есть довольно простое правило определения високосного года:

    • Номер года делится на 4 без остатка.
    • Не являются високосными годы, номера которых делятся на 100 без остатка.
    • Считаются високосными годы, у которых номера делятся на 400 без остатка.

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

    year = int(input('Введите год: '))
    
    if (year % 4 == 0 and year % 100 != 0) or year % 400 == 0:
        print('Високосный год')
    else:
        print('Невисокосный год')

    Но также в Python имеется модуль calendar, в котором есть функция isleap. Она как раз предназначена для определения високосных лет. Применим ее и получим такой код:

    import calendar
    
    year = int(input('Введите год: '))
    
    if calendar.isleap(year):
        print('Високосный год')
    else:
        print('Невисокосный год')

    Понятно, что обе программы будут работать абсолютно одинаково. Пример работы:

    Введите год: 2025
    Невисокосный год

    Еще пример:

    Введите год: 2024
    Високосный год

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

    Разбор

    Поделиться

    Скопировано
    0 комментариев
    Комментарии