Калькулятор на Питоне: код с пояснениями

Создание простого калькулятора на Python

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

Что нам нужно

Для начала, убедитесь, что у вас установлен Python. Вы можете скачать его с официального сайта python.org. Также вам понадобится текстовый редактор или IDE, например, PyCharm или Visual Studio Code.

Основная структура калькулятора

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

def calculator():
    print("Добро пожаловать в калькулятор!")
    num1 = float(input("Введите первое число: "))
    operation = input("Введите операцию (+, -, *, /): ")
    num2 = float(input("Введите второе число: "))

В этом коде мы определяем функцию calculator, которая выводит приветственное сообщение и запрашивает у пользователя два числа и операцию. Обратите внимание, что мы используем float для преобразования ввода в числа с плавающей запятой.

Реализация операций

Теперь добавим логику для выполнения операций. Мы будем использовать условные операторы if, чтобы определить, какую операцию выполнить.

    if operation == "+":
        result = num1 + num2
    elif operation == "-":
        result = num1 - num2
    elif operation == "*":
        result = num1 * num2
    elif operation == "/":
        if num2 != 0:
            result = num1 / num2
        else:
            return "Ошибка: деление на ноль!"
    else:
        return "Ошибка: неверная операция!"

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

Вывод результата

После выполнения операции нам нужно вывести результат. Добавим это в нашу функцию:

    return f"Результат: {result}"

Теперь функция calculator будет возвращать результат вычисления. Чтобы увидеть его, нам нужно вызвать функцию и вывести результат на экран.

if __name__ == "__main__":
    print(calculator())

Этот код позволяет запустить калькулятор, когда мы выполняем файл. Теперь у нас есть полноценный калькулятор!

Полный код калькулятора

Теперь соберем все части вместе и посмотрим на полный код:

def calculator():
    print("Добро пожаловать в калькулятор!")
    num1 = float(input("Введите первое число: "))
    operation = input("Введите операцию (+, -, *, /): ")
    num2 = float(input("Введите второе число: "))

    if operation == "+":
        result = num1 + num2
    elif operation == "-":
        result = num1 - num2
    elif operation == "*":
        result = num1 * num2
    elif operation == "/":
        if num2 != 0:
            result = num1 / num2
        else:
            return "Ошибка: деление на ноль!"
    else:
        return "Ошибка: неверная операция!"

    return f"Результат: {result}"

if __name__ == "__main__":
    print(calculator())

Дополнительные функции

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

import math

def calculator():
    print("Добро пожаловать в калькулятор!")
    while True:
        num1 = float(input("Введите первое число: "))
        operation = input("Введите операцию (+, -, *, /, ^, sqrt): ")
        
        if operation == "sqrt":
            result = math.sqrt(num1)
            return f"Результат: {result}"
        
        num2 = float(input("Введите второе число: "))
        
        if operation == "+":
            result = num1 + num2
        elif operation == "-":
            result = num1 - num2
        elif operation == "*":
            result = num1 * num2
        elif operation == "/":
            if num2 != 0:
                result = num1 / num2
            else:
                return "Ошибка: деление на ноль!"
        elif operation == "^":
            result = num1 ** num2
        else:
            return "Ошибка: неверная операция!"

        return f"Результат: {result}"

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

Заключение

Создание калькулятора на Python — это отличный способ попрактиковаться в программировании и понять основы работы с функциями и условиями. Вы можете продолжать развивать этот проект, добавляя новые функции и улучшая интерфейс. Например, можно создать графический интерфейс с помощью библиотеки tkinter или PyQt.

Примечание

Не забывайте, что программирование — это постоянный процесс обучения. Чем больше вы практикуетесь, тем лучше становитесь!