团队项目:科学计算器
队长:黄研
队员:鞠艳 李艾哲 马璐 吕爽 陶丽爽
项目开发目的:该软件是以实现个人在生活和工作上方便进行简单的计算从而得到想要的数据而设计的,同时也是为了丰富我们的知识和提高实践能力而设计的。
项目需求:主要应用于日常学习工作中遇到的科学计算问题,系统应该能够更好的完成基本科学计算任务,做到准确快速的计算出用户所需数据。
该产品的核心功能是: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()
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
#
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()