zoukankan      html  css  js  c++  java
  • 团队-科学计算器-项目总结

    团队项目:科学计算器

    队长:黄研

    队员:鞠艳   李艾哲    马璐   吕爽    陶丽爽

    项目开发目的:该软件是以实现个人在生活和工作上方便进行简单的计算从而得到想要的数据而设计的,同时也是为了丰富我们的知识和提高实践能力而设计的。

    项目需求:主要应用于日常学习工作中遇到的科学计算问题,系统应该能够更好的完成基本科学计算任务,做到准确快速的计算出用户所需数据。

    该产品的核心功能是:1.支持俩个数的加减乘除

                             2.输入数字时可以进行向后删除,这样输入错误的数字时可以及时修改,比较方便

                             3.有小数的计算,运算比较精确,解决了口算和笔算带  来的失误问题。

                             4.有负数的添加,能够实现学生等进行负数的计算

                             5.当显示框数据过多时还可以进行大清除,避免一个一个的去删除

    项目的进程:目前它能够进行加减乘除运算以及实现清除运算框中不需要的内容。以后我们将讨论增加幂运算等动能模块。我相信通过我们的努力一定会完成。

     运行的页面:

     #-*- coding:UTF-8-*-
     
    from Tkinter import *
     
    def frame(root, side):
        w = Frame(root)
        w.pack(side=side, expand=YES, fill=BOTH)
        return w
    #end of def
     
    def button(root, side, text, command=None):
        w = Button(root, text=text, command=command)
        w.pack(side=side, expand=YES, fill=BOTH)
        return w
    #end of def
    #www.iplaypy.com
     
    class Calculator(Frame):
        def __init__(self):
            Frame.__init__(self)
            #self.oprion_add('*Font', 'Verdana 12 bold')
            self.option_add('*Font', 'Verdana 12 bold')
            self.pack(expand=YES, fill=BOTH)
            self.master.title('Simple Cal')
            self.master.iconname('calc1')
             
            display = StringVar()
            Entry(self, relief=SUNKEN, textvariable=display).pack(side=TOP, expand=YES, fill=BOTH)
            for key in ('123', '456', '789', '+0.'):
                keyF = frame(self, TOP)
                for char in key:
                    button(keyF, LEFT, char, lambda w=display, c=char: w.set(w.get() + c))
            #end of for
            opsF = frame(self, TOP)
             
            for char in '-*/=':
                if char == '=':
                    btn = button(opsF, LEFT, char)
                    btn.bind('<ButtonRelease-1>', lambda e, s=self, w=display: s.calc(w), '+')
                else:
                    btn = button(opsF, LEFT, char, lambda w=display, s='%s '%char: w.set(w.get() + s))
     
                #end of if
            #end of for 
            clearF = frame(self, BOTTOM)
            button(clearF, LEFT, 'Clr', lambda w=display: w.set(''))
        #end of def
         
        def calc(self, display):
            try:
                display.set(eval(display.get()))
            except:
                display.set('ERROR')
            #end of try and except
        #end of def
    #end of class
     
    if __name__ == '__main__':
        Calculator().mainloop()
  • 相关阅读:
    (005)每日SQL学习:关于物化视图的一系列创建等语句
    (004)每日SQL学习:物化视图之二
    (003)每日SQL学习:普通视图和物化视图
    (002)每日SQL学习:删除名称重复的数据
    (001)每日SQL学习:关于UNION的使用
    (002)每日一课:表格的数据排序
    (001)每日一课:报表隔行换色
    (Oracle)关于blob转到目标库报ORA-01461: 仅能绑定要插入 LONG 列的 LONG 值错误解决方案
    (Oracle)数据库用户的密码过期时间如何修改为永不过期
    Entity Framework 中遇到的一些小问题
  • 原文地址:https://www.cnblogs.com/juyan/p/7922461.html
Copyright © 2011-2022 走看看