欢迎访问宙启技术站
智能推送

使用Python编写一个简单的计算器

发布时间:2023-06-12 09:24:21

Python是一种十分强大的编程语言,它可以用来编写各种类型的应用程序,包括简单的计算器。在本文中,我们将会用Python编写一个简单的计算器,它能够完成四则运算,并且提供用户输入输出界面。

一、准备工作

1. 安装Python

如果您还没有安装Python,请先到官网下载Python

然后按照安装步骤安装Python即可。

2. 安装第三方库

Python中有很多优秀的第三方库可以帮助我们更快地完成编程任务,其中一个比较好用的库就是Tkinter。Tkinter是Python标准库中内置的一个库,它提供了一些常用的界面元素,可以方便地构建用户界面。

使用以下命令来安装Tkinter:

sudo apt-get install python-tk

二、编写计算器代码

我们先来看一下计算器需要实现的功能:

1. 支持加减乘除四则运算

2. 提供输入框和输出框

3. 根据用户输入的数字和操作符,计算出结果

4. 将结果输出到输出框中

接下来我们来逐步实现这些功能。

1. 导入库和模块

from tkinter import *

2. 创建主窗口

root = Tk()
root.title('简单的计算器')

3. 定义输入框和输出框

#定义输入框
entry = Entry(root, width=35, borderwidth=5)
entry.grid(row=0, column=0, columnspan=3, padx=10, pady=10)
#定义输出框
output = Entry(root, width=35, borderwidth=5)
output.grid(row=1, column=0, columnspan=3, padx=10, pady=10)

4. 定义计算函数

def calculate():
    #获取输入框中的值
    num1 = entry.get()
    #获取选择的运算符
    operator = operator_var.get()
    #获取第二个输入框中的值
    num2 = second_entry.get()
    #在计算函数中进行四则运算
    if operator == '+':
        result = float(num1) + float(num2)
    elif operator == '-':
        result = float(num1) - float(num2)
    elif operator == '*':
        result = float(num1) * float(num2)
    elif operator == '/':
        result = float(num1) / float(num2)
    #将结果显示在输出框中
    output.delete(0, END) #清空输出框
    output.insert(0, result)

代码分析:首先获取输入框中的值,然后获取选择的运算符,接着获取第二个输入框中的值。在caluclate函数中进行四则运算,并将结果显示在输出框中。

5. 定义操作符选择按钮

#定义操作符选择函数
def select_operator(op):
    operator_var.set(op)

operator_var = StringVar()
operator_var.set("+")
plus_button = Radiobutton(root, text="+", variable=operator_var, value="+", command=lambda: select_operator("+"))
minus_button = Radiobutton(root, text="-", variable=operator_var, value="-", command=lambda: select_operator("-"))
multiply_button = Radiobutton(root, text="*", variable=operator_var, value="*", command=lambda: select_operator("*"))
divide_button = Radiobutton(root, text="/", variable=operator_var, value="/", command=lambda: select_operator("/"))

plus_button.grid(row=2, column=0)
minus_button.grid(row=2, column=1)
multiply_button.grid(row=2, column=2)
divide_button.grid(row=3, column=0)

代码分析:首先定义一个StringVar对象operator_var,用来保存用户选择的运算符符号。定义select_operator函数,用来设置operator_var的值。然后创建四个Radiobutton对象,分别代表加、减、乘、除四种运算符,同时设置command属性为select_operator函数,这样点击按钮时就能够调用select_operator函数,设置operator_var的值。

6. 定义第二个输入框和计算按钮

#定义第二个输入框
second_entry = Entry(root, width=35, borderwidth=5)
second_entry.grid(row=3, column=1, columnspan=2, padx=10, pady=10)
#定义计算按钮
calculate_button = Button(root, text="计算", padx=40, pady=20, command=calculate)
calculate_button.grid(row=4, column=1, columnspan=2)

代码分析:定义第二个输入框和计算按钮,用于输入第二个数字,并且通过计算函数计算结果。

7. 运行程序

root.mainloop()

代码分析:用于运行程序,显示用户界面,并且等待用户进行交互操作。

完整代码如下:

from tkinter import *


def calculate():
    #获取输入框中的值
    num1 = entry.get()
    #获取选择的运算符
    operator = operator_var.get()
    #获取第二个输入框中的值
    num2 = second_entry.get()
    #在计算函数中进行四则运算
    if operator == '+':
        result = float(num1) + float(num2)
    elif operator == '-':
        result = float(num1) - float(num2)
    elif operator == '*':
        result = float(num1) * float(num2)
    elif operator == '/':
        result = float(num1) / float(num2)
    #将结果显示在输出框中
    output.delete(0, END) #清空输出框
    output.insert(0, result)

def select_operator(op):
    operator_var.set(op)

operator_var = StringVar()
operator_var.set("+")

#创建窗口对象
root = Tk()
root.title('简单的计算器')

#定义输入框
entry = Entry(root, width=35, borderwidth=5)
entry.grid(row=0, column=0, columnspan=3, padx=10, pady=10)
#定义输出框
output = Entry(root, width=35, borderwidth=5)
output.grid(row=1, column=0, columnspan=3, padx=10, pady=10)

#定义操作符选择按钮
plus_button = Radiobutton(root, text="+", variable=operator_var, value="+", command=lambda: select_operator("+"))
minus_button = Radiobutton(root, text="-", variable=operator_var, value="-", command=lambda: select_operator("-"))
multiply_button = Radiobutton(root, text="*", variable=operator_var, value="*", command=lambda: select_operator("*"))
divide_button = Radiobutton(root, text="/", variable=operator_var, value="/", command=lambda: select_operator("/"))

plus_button.grid(row=2, column=0)
minus_button.grid(row=2, column=1)
multiply_button.grid(row=2, column=2)
divide_button.grid(row=3, column=0)

#定义第二个输入框
second_entry = Entry(root, width=35, borderwidth=5)
second_entry.grid(row=3, column=1, columnspan=2, padx=10, pady=10)
#定义计算按钮
calculate_button = Button(root, text="计算", padx=40, pady=20, command=calculate)
calculate_button.grid(row=4, column=1, columnspan=2)

#运行程序
root.mainloop()

三、运行测试

代码编写完成后,我们来测试一下我们编写的计算器。打开终端,运行以下命令:

python3 simple_calculator.py

然后点击计算器的加减乘除按钮,输入数字,获取计算结果。

总结:

本文介绍了用Python编写一个简单的计算器,包括如何使用Tkinter库来创建用户界面,如何定义输入和输出框,如何处理用户输入来完成计算,最后编写了完整的程序并进行了测试。虽然这个计算器只完成了四则运算的功能,但它可以为初学者提供一个很好的样例来学习Python编程。