代码如下:

from tkinter import * #导入tkinter库
root =Tk() #给窗体
root.title('calculator') #设置窗体名字
frm=Frame(root,bg='pink') #新建框架
frm.pack(expand = YES,fill = BOTH) #放置框架
display=StringVar()
e=Entry(frm,textvariable=display) #添加输入框
e.grid(row=,column=,sticky=N,columnspan=,rowspan=) #放置输入框位置 def print_jia():
e.insert(INSERT,'+')
def print_jian():
e.insert(INSERT,'-')
def print_cheng():
e.insert(INSERT,'*')
def print_chu():
e.insert(INSERT,'/')
def print_dengyu():
e.insert(INSERT,'=') Button(frm,text='',width=,bg='yellow',command= lambda :e.insert(INSERT,'')).grid(row=,column=,sticky=W) #设置按钮,lambda为匿名函数
Button(frm,text='',width=,bg='yellow',command= lambda :e.insert(INSERT,'')).grid(row=,column=)
Button(frm,text='',width=,bg='yellow',command= lambda :e.insert(INSERT,'')).grid(row=,column=)
Button(frm,text='',width=,bg='yellow',command= lambda :e.insert(INSERT,'')).grid(row=,column=,sticky=W)
Button(frm,text='',width=,bg='yellow',command= lambda :e.insert(INSERT,'')).grid(row=,column=)
Button(frm,text='',width=,bg='yellow',command= lambda :e.insert(INSERT,'')).grid(row=,column=)
Button(frm,text='',width=,bg='yellow',command= lambda :e.insert(INSERT,'')).grid(row=,column=,sticky=W,rowspan=)
Button(frm,text='',width=,bg='yellow',command= lambda :e.insert(INSERT,'')).grid(row=,column=,rowspan=)
Button(frm,text='',width=,bg='yellow',command= lambda :e.insert(INSERT,'')).grid(row=,column=,rowspan=)
Button(frm,text='/',width=,bg='white',command=print_chu).grid(row=,column=,sticky=E)
Button(frm,text='*',width=,bg='white',command=print_cheng).grid(row=,column=,sticky=E)
Button(frm,text='-',width=,bg='white',command=print_jian).grid(row=,column=,sticky=E)
Button(frm,text='+',width=,bg='white',command=print_jia).grid(row=,column=,sticky=E)
Button(frm,text='=',width=,bg='white',command= lambda :cal(display)).grid(row=,column=,sticky=E)
Button(frm,text='clear',width=,bg='red',command= lambda :display.set('')).grid(row=,column=,sticky=W)
Button(frm,text='',width=,bg='red',command= lambda :e.insert(INSERT,'')).grid(row=,column=)
Button(frm,text='.',width=,bg='red',command= lambda :e.insert(INSERT,'.')).grid(row=,column=)
def cal(display): #eval函数将字符串转化为表达式
display.set(eval(display.get())) print('OK')
root.mainloop() #让程序一直循环

使用tkinter做简单计算器的更多相关文章

  1. 平时没有怎么用Excel做 加减乘除 计算,猛地发现,其实Excel 是一个很好的简单计算器

    平时没有怎么用Excel做 加减乘除 计算,猛地发现,其实Excel 是一个很好的简单计算器

  2. 一个用WPF做的简单计算器源代码

    一.界面设计XAML代码 <Window x:Class="fengjisuanqi.MainWindow" xmlns="http://schemas.micro ...

  3. 菜鸟学Android编程——简单计算器《一》

    菜鸟瞎搞,高手莫进 本人菜鸟一枚,最近在学Android编程,网上看了一些视频教程,于是想着平时手机上的计算器应该很简单,自己何不尝试着做一个呢? 于是就冒冒失失的开撸了. 简单计算器嘛,功能当然很少 ...

  4. php大力力 [005节] php大力力简单计算器001

    2015-08-22 php大力力005. php大力力简单计算器001: 上网看视频,看了半天,敲击代码,如下: <html> <head> <title>简单计 ...

  5. c#部分---网吧充值系统;简易的闹钟;出租车计费;简单计算器;对战游戏;等额本金法计算贷款还款利息等;随机生成10个不重复的50以内的整数;推箱子;

    网吧充值系统namespace ConsoleApplication1 { class Program { struct huiyuan { public string name; public st ...

  6. js实现简单计算器

    效果图: 刚开始做时没考虑到清零和退格两个功能,嘻嘻,后来加的整体与传统计算器比有点小瑕疵. 代码: <!DOCTYPE html><html><head> < ...

  7. HDOJ 1237题 简单计算器

    简单计算器 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submiss ...

  8. 前缀、中缀、后缀表达式以及简单计算器的C++实现

    前缀表达式(波兰表达式).中缀表达式.后缀表达式(逆波兰表达式) 介绍 三种表达式都是四则运算的表达方式,用以四则运算表达式求值,即数学表达式的求解. 前缀表达式 前缀表达式是一种没有括号的算术表达式 ...

  9. C语言,简单计算器【上】

    由于工作需要最近在研究PHP扩展,无可避免的涉及到了C语言.从出了学校以后C语言在实际工作中还没有用到过,所以必须要先进行一点复习工作.个人认为对于熟悉一样东西说最好的方法是上手实践.于是便想起了当时 ...

随机推荐

  1. 互评Beta版本(Hello World!——SkyHunter)

    1 基于NABCD评论作品,及改进建议 SkyHunter这款游戏我很喜欢,小时候总玩飞机类的游戏,这款游戏我上课的时候试玩了,在我电脑上运行是很好玩的,音乐震撼,画面玄幻,富有金属音乐的味道,游戏内 ...

  2. 谷歌地图api 开发 (转载)

    https://www.cnblogs.com/520lin/p/5800024.html

  3. vue 中ref 的使用注意事项

    最近看别人的项目发现有些语法不能理解,所以百度进行了学习.现在总结一下. ref 有两种用法 1.ref 加在普通的元素上,用this.ref.name 获取到的是dom元素 2.ref 加在子组件上 ...

  4. Linux网卡配置文件路径是什么?要使服务器上外网,必须满足的条件有哪些?需要配置什么?

    Linux网卡配置文件路径是什么?要使服务器上外网,必须满足的条件有哪些?需要配置什么?    答:    网卡配置文件路径:/etc/sysconfig/network-scripts/ifcfg- ...

  5. Sprint2-2.0

    1.开始一个新的冲刺: 起止:2016.6.1~2016.6.14 按照以下过程进行 ProductBacklog:继续向下细化 Sprint 计划会议:确定此次冲刺要完成的目标 Sprint Bac ...

  6. HDU 2086 A1 = ?

    http://acm.hdu.edu.cn/showproblem.php?pid=2086 Problem Description 有如下方程:Ai = (Ai-1 + Ai+1)/2 - Ci ( ...

  7. Windows 10 正式版原版ISO镜像

    Win10正式版32位简体中文版(含家庭版.专业版)文件名: cn_windows_10_multiple_editions_x86_dvd_6846431.isoSHA1:21B824F402927 ...

  8. 【高级】PHP-FPM和Nginx的通信机制

    PHP-FPM 介绍 CGI 协议与 FastCGI 协议 每种动态语言( PHP,Python 等)的代码文件需要通过对应的解析器才能被服务器识别,而 CGI 协议就是用来使解释器与服务器可以互相通 ...

  9. how to know iframe is loaded in js

    how to know iframe is loaded in js ??? iframe & HTTPS & CORS https://iframe.xgqfrms.xyz/eapp ...

  10. Scalable IO in Java【java高效IO】

    第一次翻译,如有错误,请指正 1.Outline 大纲Scalable network services  高效网络服务 Event-driven processing  事件驱动处理 Reactor ...