Построим пирамиду из плюсов, научим программу распознавать простые и составные числа, попытаемся угадать загаданное программой число и еще кое-что интересное.
Пара слов о 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. Другие полезные и интересные задачи можно найти, например, на этой странице.
