干活干活,来做个科学计算器。
哈喽,大家好呀,这里是滑稽研究所。提到python的GUI很多人想到的是tkinter这个第三方库,实际上之前我们已经学习过了tk的基础知识,并制作了一个只有加减乘除功能的计算器,本期我们带来他的加强版,科学计算器。
提到科学计算,是不是一下就想起了python的math库,没错它也是我们本次代码的主角之一。eval(),lambda ()这两个方法也是我们代码的灵魂人物。我们来看一下他们的使用方法。
eval() 用来执行一个字符串表达式,并返回表达式的值。大家和print区分开
s='8*8'
eval(s)
>>> 64
#大家通过例子区分一下这两个的区别
s='8*8'
print(s)
>>> 8*8
lambda() 可以使我们在任何地方创建一个没有名字的单行函数。
(lambda x:x+1)(1)
>>> 2
#两种定义方法
g = lambda x:x+1
g(1)
>>> 2
源代码:
from tkinter import Tk
from tkinter import StringVar,Entry,Button
import math
class calculator:
def __init__(self):
window=Tk()
window.title('基于TK的科学计算器')
window.configure(background="white")
self.string=StringVar()
entry=Entry(window,textvariable=self.string,)
entry.grid(row=0,column=0,columnspan=6)
entry.configure(background="white")
entry.focus()
values=["C","DEL"