Как сделать калькулятор в python

В статье рассматривается создание калькулятора на языке Python с помощью использования функций и циклов. Детально рассматривается процесс создания калькулятора и приводится пример кода.

Реализация калькулятора в Python достаточно проста. Для начала нужно создать простой цикл, который будет проверять наличие ввода пользователя и обрабатывать его. Затем нужно задать операции, которые будет производить калькулятор. Ниже приведен пример простого калькулятора с тремя основными операциями (сложение, вычитание и умножение).

Код калькулятора

while True:
    print('Введите первое число:')
    num1 = input()
    print('Введите второе число:')
    num2 = input()
    print('Введите операцию (+, -, *):')
    op = input()

    if op == '+':
        print('Результат: ' + str(int(num1) + int(num2)))
    elif op == '-':
        print('Результат: ' + str(int(num1) - int(num2)))
    elif op == '*':
        print('Результат: ' + str(int(num1) * int(num2)))
    else:
        print('Введена неверная операция!')
    print('n')

В этом примере цикл будет продолжать работу, пока пользователь не введет неверную операцию. Также можно добавить другие операции, такие как деление и возведение в степень, для достижения более продвинутого калькулятора.

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

Код для графического интерфейса

from tkinter import *

root = Tk()
root.title('Калькулятор')

e = Entry(root, width=35, borderwidth=5)
e.grid(row=0, column=0, columnspan=3, padx=10, pady=10)

def button_click(number):
    current = e.get()
    e.delete(0, END)
    e.insert(0, str(current) + str(number))

def button_clear():
    e.delete(0, END)

def button_add():
    first_number = e.get()
    global f_num 
    global math
    math = 'addition'
    f_num = int(first_number)
    e.delete(0, END)

def button_equal():
    second_number = e.get()
    e.delete(0, END)

    if math == 'addition':
        e.insert(0, f_num + int(second_number))

    if math == 'subtraction':
        e.insert(0, f_num - int(second_number))

    if math == 'multiplication':
        e.insert(0, f_num * int(second_number))

def button_subtract():
    first_number = e.get()
    global f_num 
    global math
    math = 'subtraction'
    f_num = int(first_number)
    e.delete(0, END)

def button_multiply():
    first_number = e.get()
    global f_num 
    global math
    math = 'multiplication'
    f_num = int(first_number)
    e.delete(0, END)

button_1 = Button(root, text="1", padx=40, pady=20, command=lambda: button_click(1))
button_2 = Button(root, text="2", padx=40, pady=20, command=lambda: button_click(2))
button_3 = Button(root, text="3", padx=40, pady=20, command=lambda: button_click(3))
button_4 = Button(root, text="4", padx=40, pady=20, command=lambda: button_click(4))
button_5 = Button(root, text="5", padx=40, pady=20, command=lambda: button_click(5))
button_6 = Button(root, text="6", padx=40, pady=20, command=lambda: button_click(6))
button_7 = Button(root, text="7", padx=40, pady=20, command=lambda: button_click(7))
button_8 = Button(root, text="8", padx=40, pady=20, command=lambda: button_click(8))
button_9 = Button(root, text="9", padx=40, pady=20, command=lambda: button_click(9))
button_0 = Button(root, text="0", padx=40, pady=20, command=lambda: button_click(0))
button_add = Button(root, text="+", padx=39, pady=20, command=button_add)
button_equal = Button(root, text="=", padx=91, pady=20, command=button_equal)
button_clear = Button(root, text="Clear", padx=79, pady=20, command=button_clear)

button_subtract = Button(root, text="-", padx=41, pady=20, command=button_subtract)
button_multiply = Button(root, text="*", padx=40, pady=20, command=button_multiply)

# Put the buttons on the screen
button_1.grid(row=3, column=0)
button_2.grid(row=3, column=1)
button_3.grid(row=3, column=2)

button_4.grid(row=2, column=0)
button_5.grid(row=2, column=1)
button_6.grid(row=2, column=2)

button_7.grid(row=1, column=0)
button_8.grid(row=1, column=1)
button_9.grid(row=1, column=2)

button_0.grid(row=4, column=0)
button_clear.grid(row=4, column=1, columnspan=2)
button_add.grid(row=5, column=0)
button_equal.grid(row=5, column=1, columnspan=2)

button_subtract.grid(row=6, column=0)
button_multiply.grid(row=6, column=1)

root.mainloop()

В данном примере мы создаем окно приложения с помощью Tkinter и добавляем в него кнопки для ввода данных и выполнения математических операций. Когда пользователь нажимает кнопку «Равно», программа автоматически вычисляет и отображает результат.

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

Ответы (0)