📜  如何在python中制作计算器(1)

📅  最后修改于: 2023-12-03 15:08:56.804000             🧑  作者: Mango

如何在Python中制作计算器

Python是一种强大的编程语言,它可以用来制作桌面应用程序,包括计算器。在本文中,我们将介绍如何使用Python创建一个基本的计算器。

第一步:安装Python

在开始此项目之前,请确保您已在计算机上安装了Python。您可以从Python官方网站下载安装程序:https://www.python.org/downloads/

安装Python后,您可以通过在终端中输入以下命令来验证Python是否已正确安装:

python --version

如果Python已正确安装,您将看到Python版本号的输出。

第二步:创建GUI

我们将使用Python tkinter库来创建GUI。 tkinter是Python标准的GUI库,并且非常易于使用。您可以通过输入以下命令来安装它:

pip install tkinter

以下是创建一个窗口的示例代码:

from tkinter import *

root = Tk() #创建窗口对象

root.mainloop() #让窗口保持显示

这将创建一个空白窗口。

第三步:添加控件

实现计算器的下一步是向窗口添加控件。我们需要添加文本框和按钮。文本框用于显示用户输入和计算结果,按钮用于输入数字和操作符。

以下是添加文本框和按钮的示例代码:

from tkinter import *

root = Tk()

#创建文本框
calc_entry = Entry(root, width=35, borderwidth=5)
calc_entry.grid(row=0, column=0, columnspan=3, padx=10, pady=10)

#创建按钮
button_1 = Button(root, text='1', padx=40, pady=20)
button_2 = Button(root, text='2', padx=40, pady=20)
button_3 = Button(root, text='3', padx=40, pady=20)
button_4 = Button(root, text='4', padx=40, pady=20)
button_5 = Button(root, text='5', padx=40, pady=20)
button_6 = Button(root, text='6', padx=40, pady=20)
button_7 = Button(root, text='7', padx=40, pady=20)
button_8 = Button(root, text='8', padx=40, pady=20)
button_9 = Button(root, text='9', padx=40, pady=20)
button_0 = Button(root, text='0', padx=40, pady=20)
button_add = Button(root, text='+', padx=39, pady=20)
button_sub = Button(root, text='-', padx=41, pady=20)
button_mul = Button(root, text='*', padx=40, pady=20)
button_div = Button(root, text='/', padx=41, pady=20)
button_equal = Button(root, text='=', padx=91, pady=20)
button_clear = Button(root, text='Clear', padx=79, pady=20)

#将按钮添加到窗口
button_1.grid(row=1, column=0)
button_2.grid(row=1, column=1)
button_3.grid(row=1, 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=3, column=0)
button_8.grid(row=3, column=1)
button_9.grid(row=3, 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_sub.grid(row=6, column=0)
button_mul.grid(row=6, column=1)
button_div.grid(row=6, column=2)

button_equal.grid(row=5, column=1, columnspan=2)

root.mainloop()

这将创建一个带有数字和操作按钮的窗口。

第四步:定义按钮功能

我们需要定义按下按钮时要执行的函数。我们需要创建一个calculate函数,它将根据用户输入来执行带有加法,减法,乘法和除法的计算。我们还需要创建一个clear函数,以便用户可以在需要时清除文本框。

以下是定义按钮功能的示例代码:

from tkinter import *

root = Tk()

#创建文本框
calc_entry = Entry(root, width=35, borderwidth=5)
calc_entry.grid(row=0, column=0, columnspan=3, padx=10, pady=10)

#创建按钮
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_sub = Button(root, text='-', padx=41, pady=20, command=button_subtract)
button_mul = Button(root, text='*', padx=40, pady=20, command=button_multiply)
button_div = Button(root, text='/', padx=41, pady=20, command=button_divide)
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_1.grid(row=1, column=0)
button_2.grid(row=1, column=1)
button_3.grid(row=1, 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=3, column=0)
button_8.grid(row=3, column=1)
button_9.grid(row=3, 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_sub.grid(row=6, column=0)
button_mul.grid(row=6, column=1)
button_div.grid(row=6, column=2)

button_equal.grid(row=5, column=1, columnspan=2)

#定义函数
def button_click(number):
    current = calc_entry.get()
    calc_entry.delete(0, END)
    calc_entry.insert(0, str(current) + str(number))

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

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

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

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

def button_divide():
    first_number = calc_entry.get()
    global f_num
    global math
    math = 'division'
    f_num = int(first_number)
    calc_entry.delete(0, END)

def button_equal():
    second_number = calc_entry.get()
    calc_entry.delete(0, END)
    if math == 'addition':
        calc_entry.insert(0, f_num + int(second_number))
    if math == 'subtraction':
        calc_entry.insert(0, f_num - int(second_number))
    if math == 'multiplication':
        calc_entry.insert(0, f_num * int(second_number))
    if math == 'division':
        calc_entry.insert(0, f_num / int(second_number))

root.mainloop()

此代码将使您的计算器窗口拥有完整的计算功能。

总结

在本文中,我们介绍了如何使用Python Tkinter库创建一个桌面计算器。我们创建了一个窗口,并向其添加了文本框和按钮,然后定义了一个包含数字和操作的功能来计算结果。我们希望这个教程对您有所帮助。