使用Python编写一个简单的计算器
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编程。
