简易计算器的制作

黄跃
2023-12-01

简易计算器的制作

呜呜呜太不容易了!!!经历了挂科、补考、重修一系列麻烦操作,终于80分过了!!!把期末大作业的报告贴在这吧!!!

一、项目动机

计算器是我们日常生活中必不可少的工具之一,不管我们是哪个行业哪个单位哪个年龄段的,都可能使用到计算器。
计算器使用出现在各种生产和生活中:在生产中,我们离不开计算,不管是计算成本还是计算别的项目,计算必不可少;在生活中,我们时时刻刻需要计算,即使是我们出门买东西,也存在着计算,这就是计算的重要作用。对于学生而言,计算器的作用就更重要了,它是一种我们一直在使用的学习工具之一。
计算器在作用上,主要是用来计算各种数字,进行简单的计算操作。设计简易计算器的程序则需要满足最基本的加减乘除等四则运算功能。

二、需求分析

设计四则运算计算器:
目的:掌握python开发程序的方法。
(1)正确实现四则运算功能;
(2)具有容错性,防止软件崩溃。

三、算法设计

  1. 理论基础
    设计开发一个支持连续计算的四则运算计算器。
    计算功能:通过单击按钮,输入并完成连续计算,并将计算的结果显示到输入文本框中。

  2. 算法分析
    通过tkinter 建立一个标准 GUI 库。
    Python 使用 Tkinter 可以快速的创建 GUI 应用程序。由于 tkinter 是内置到 python 的安装包中,只要安装好 Python 之后就能 import tkinter 库,而且 IDLE 也是用 tkinter 编写而成,对于简单的图形界面 tkinter 还是能应付自如。
    同时,tkinter 按钮组件可在 Python 应用程序中添加按钮,按钮上可以放上文本或图像,按钮可用于监听用户行为,能够与一个 Python 函数关联,当按钮被按下时,自动调用该函数。

  3. 设计流程
    (1)设计计算器显示页面。
    (2)编写实现数字四则运算功能的代码。
    (3)调整按钮的大小及位置。
    (4)运行调试。

四、核心源代码

#加

def Add():
    # text.insert('end', '+')
    i = str(text.get(1.0, END)[-2])
    if i in operator:
        pass
    else:
        text.insert('end', '+')

#减

def Sup():
    i = str(text.get(1.0, END)[-2])
    if i in operator:
        pass
    else:
        text.insert('end', '-')

#乘

def Mult():
    i = str(text.get(1.0, END)[-2])
    if i in operator:
        pass
    else:
        text.insert('end', '*')

#除

def Div():

    i = str(text.get(1.0, END)[-2])
    if i in operator:
        pass
    else:
        text.insert('end', '/')

#清除键的执行函数

def clear_all():
    text.delete(0.0, END)

#删除键的执行函数

def del_one():
    # a=str(text.get(1.0,END))
    # print(a[-2])
    text.delete((1.0, '2.0')[-2])

def point():
    i = str(text.get(1.0, END)[-2])
    if i in operator:
        pass
    else:
        text.insert('end', '.')

#等号利用eval函数直接计算

def count():
    result = str(eval(text.get(1.0, END)))
    text.insert('end', '\n' + result)

五、问题总结

作为一个计算机类的学生,我们在程序语言的学习上不再是刚起步,以前的编程学习使得我在学习这门课的时候轻松不少,当然,我也遇见了一些困难。
我遇到的问题出现在程序刚起步时!由于我们以前也做过计算器类似的项目,我就直接上手了,觉得以前的代码经验可以支撑起这个程序。但语言之间相似却并不等同。一些在Java或者在c中可以使用的语句,在python中并不能使用。但好在沉下心来后基本的框架都可以写出来。剩下的一些小问题也通过百度查询以及询问同学得以解决。
在编写代码的过程中,我收获了很多。纸上谈兵终觉浅,最好的方法就是实践。同时,一定要多借鉴别人好的经验,在遇到不会的问题时要学会想办法解决而不是规避。

 类似资料: