Python+tkinter使用40行代码实现计算器功能

yipeiwu_com6年前Python基础

本文实例为大家分享了40行Python代码实现计算器功能,供大家参考,具体内容如下

偶尔用脚本写点东西也是不错的。

效果图

代码

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): 
 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() 

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python多进程库multiprocessing中进程池Pool类的使用详解

Python多进程库multiprocessing中进程池Pool类的使用详解

问题起因 最近要将一个文本分割成好几个topic,每个topic设计一个regressor,各regressor是相互独立的,最后汇总所有topic的regressor得到总得预测结果。...

pandas读取csv文件,分隔符参数sep的实例

在python中读取csv文件时,一般操作如下: import pandas as pd pd.read_csv(filename) 该读文件方式,默认是以逗号“,”作为分割符,若...

使用apidocJs快速生成在线文档的实例讲解

使用apidocJs快速生成在线文档的实例讲解

apidoc是一个轻量级的在线REST接口文档生成系统,支持多种主流语言,包括Java、C、C#、PHP和Javascript等。使用者仅需要按照要求书写相关注释,就可以生成可读性好、界...

django中forms组件的使用与注意

forms组件 django框架提供了一个Form类,来进行web开发中的表单提交数据的处理工作。 导入相关模块 from django import forms from dja...

Python 稀疏矩阵-sparse 存储和转换

Python 稀疏矩阵-sparse 存储和转换

稀疏矩阵-sparsep from scipy import sparse 稀疏矩阵的储存形式 在科学与工程领域中求解线性模型时经常出现许多大型的矩阵,这些矩阵中大部分的元素都为0...