Python只用40行代码编写的计算器实例

yipeiwu_com5年前Python基础

本文实例讲述了Python只用40行代码编写的计算器。分享给大家供大家参考,具体如下:

效果图:

代码:

from tkinter import *
reset=True
def buttonCallBack(event):
  global label
  global reset
  num=event.widget['text']
  if num=='C':
    label['text']="0"
    return
  if num in "=":
    label['text']=str(eval(label['text']))
    reset=True
    return
  s=label['text']
  if s=='0' or reset==True:
    s=""
    reset=False
  label['text']=s+num
#主窗口
root=Tk()
root.wm_title("计算器")
#显示栏1
label=Label(root,text="0",background="white",anchor="e")
label['width']=35
label['height']=2
label.grid(row=1,columnspan=4,sticky=W)
#按钮
showText="789/456*123-0.C+"
for i in range(4):
  for j in range(4):
    b=Button(root,text=showText[i*4+j],width=7)
    b.grid(row=i+2,column=j)
    b.bind("<button-1>",buttonCallBack)
showText="()"
for i in range(2):www.jb51.net
  b=Button(root,text=showText[i],width=7)
  b.grid(row=6,column=2+i)
  b.bind("<button-1>",buttonCallBack)
b=Button(root,text="=")
b.grid(row=6,columnspan=2,sticky="we")
b.bind("<button-1>",buttonCallBack)
root.mainloop()
</button-1></button-1></button-1>

PS:这里再为大家推荐几款计算工具供大家进一步参考借鉴:

在线一元函数(方程)求解计算工具:
http://tools.jb51.net/jisuanqi/equ_jisuanqi

科学计算器在线使用_高级计算器在线计算:
http://tools.jb51.net/jisuanqi/jsqkexue

在线计算器_标准计算器:
http://tools.jb51.net/jisuanqi/jsq

更多关于Python相关内容感兴趣的读者可查看本站专题:《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总

希望本文所述对大家Python程序设计有所帮助。

相关文章

Python有参函数使用代码实例

这篇文章主要介绍了Python有参函数使用代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 1.给定验证码长度n,生成随机验证码...

Python实用工具FuckIt.py介绍

说起 Python 强大的地方,你可能想到是它的优雅、简洁、开发速度快,社区活跃度高。但真正使得这门语言经久不衰的一个重要原因是它的无所不能,因为社区有各种各样的第三库,使得我们用Pyt...

Python3多线程操作简单示例

本文实例讲述了Python3多线程操作。分享给大家供大家参考,具体如下: python3 线程中常用的两个模块为: _thread threading(推荐使用) thread 模块已被...

python中从for循环延申到推导式的具体使用

本文采用循序渐进的写法,逐步递进. 传统for循环: #获取1到1000000的偶数 #采用传统写法(俗称普通解析) for i in range(1,10**6+1): if(i...

Python中用format函数格式化字符串的用法

自python2.6开始,新增了一种格式化字符串的函数str.format(),可谓威力十足。那么,他跟之前的%型格式化字符串相比,有什么优越的存在呢?让我们来揭开它羞答答的面纱。 语法...