界面方式:

#coding=utf-8

#by : linhut

from Tkinter import * #导入Tkinter所有组件

def clear():

display.set('')

def dele():

display.set(str(display.get()[:-1])) #取最后一位前面的,转数字

def call(m):

content = display.get()+m #display.get()获得当前内容

display.set(content) #display.set() 显示内容

# 得到 '2+3'

def calee():

if '=' in display.get(): #判断当前内容是否进行过计算

con = display.get().split('=')[-1]

else:

con = display.get()

try:

res =eval(con) #eval字符可计算

display.set(con + '=\n' + str(res))

#得到 2+3=5

except:

display.set('Error')

clear()

def main():

root = Tk() # 创建顶层窗口

root.title('Linhut计算器')

root.geometry() #设置界面大小

global display #创建一个全局变量

display=StringVar() #用来得到和设置显示的内容

label = Label(root,relief='sunken',borderwidth=3,anchor=SE)

#relief设置边框样式,borderwidth设置边框的宽度,anchor设置pack分配的位置

label.config(bg='grey',width=25,height=3)

label['textvariable'] = display

#textvariable显示display变量的内容

label.grid(row=0,column=0,columnspan = 4)

#columnspan设置用几列来显示该组件

Button(root,text='C',fg = 'Green',width=3,command=lambda:clear()).grid(row=1,column=0)

Button(root,text='DEL',width=3,command=lambda:dele()).grid(row=1,column=1)

Button(root,text='/', width=3, command=lambda: call('/')).grid(row=1, column=2)

Button(root,text='*', width=3, command=lambda: call('*')).grid(row=1, column=3)

Button(root,text='-', width=3, command=lambda: call('-')).grid(row=2, column=3)

Button(root,text='+', width=3, command=lambda: call('+')).grid(row=3, column=3)

Button(root,text='%', width=3, command=lambda: call('%')).grid(row=4, column=3)

Button(root,text='.', width=3, command=lambda: call('.')).grid(row=5, column=1)

Button(root,text='1', width=3, command=lambda: call('1')).grid(row=4, column=0)

Button(root,text='2', width=3, command=lambda: call('2')).grid(row=4, column=1)

Button(root,text='3', width=3, command=lambda: call('3')).grid(row=4, column=2)

Button(root,text='4', width=3, command=lambda: call('4')).grid(row=3, column=0)

Button(root,text='5', width=3, command=lambda: call('5')).grid(row=3, column=1)

Button(root,text='6', width=3, command=lambda: call('6')).grid(row=3, column=2)

Button(root,text='7', width=3, command=lambda: call('7')).grid(row=2, column=0)

Button(root,text='8', width=3, command=lambda: call('8')).grid(row=2, column=1)

Button(root,text='9', width=3, command=lambda: call('9')).grid(row=2, column=2)

Button(root,text='0', width=3, command=lambda: call('0')).grid(row=5, column=0)

Button(root,text='=', width=3, command=lambda: calee()).grid(row=5, column=2,rowspan=3)

root.mainloop() # 显示界面

if __name__ == '__main__':

main()

字符方式:

#coding=utf-8

#by : linhut

def jia(x,y):

return (x+y)

def jian(x,y):

return (x-y)

def cheng(x,y):

return (x*y)

def chu(x,y):

return (x/y)

func_dict = {'+':jia,'-':jian,'*':cheng,'/':chu}

oper_set = {'+','-','*','/'}

#运算符集合

#一行来输入,并且完成单项运算就OK

#2 * 3

#2+3

result = 0

while True:

mystr = input('请输入你要做的操作:')

mystr_set = set(mystr.strip())

#去掉空格 变成集合

oper = (mystr_set&oper_set).pop()

#取出运算符

num1 = int(mystr.split(oper)[0])

num2 = int(mystr.split(oper)[1])

result = func_dict[oper](num1,num2)

print('结果是:',result)

mylist = [1,2,-3]

def getsum(mylist):

mysum = 0

for var in mylist:

mysum += var

return mysum

def jiajian(*arg):

res = 0

for var in arg:

res += var

#就一步

def chengchu(oper,*arg):

res = 0

if oper == '*':

for var in arg:

res *= arg

if oper == '/':

for var in arg:

res /= arg

python编程计算器_Python编程之计算器/字符及界面相关推荐

  1. python编程计算_python编程 小小计算器

    我是刚学的python编程 今天想编一个计算器,结果提示错误 各位老鸟帮帮忙 # Filename : jisuanqi.py a = int(raw_input('a')) fu = raw_inp ...

  2. python编程规则_python编程规则

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 只有写一个完整的不依赖系统命令(如,复杂的程序)的情况下才有必要用到python ...

  3. python编程优势_Python编程的优势是什么

    Python编程的优势是什么 发布时间:2020-06-26 13:54:14 来源:亿速云 阅读:110 作者:Leah Python编程的优势是什么?针对这个问题,这篇文章详细介绍了相对应的分析和 ...

  4. python编程计算器_python怎么编写计算器程序

    该计算器是使用Python tkinter模块进行开发的.下面给大家介绍具体代码: 效果如下图: 代码如下:import tkinter #导入tkinter模块 root = tkinter.Tk( ...

  5. python编程简易计算器_Python编程练习049:简单计算器实现

    以下代码用于实现简单计算器实现,包括两个数基本的加减乘除运算: 定义函数 def add(x, y): """相加""" return x ...

  6. python数字计算公式_Python编程5:Python中的数字和数学运算

    #少儿编程# 小朋友们应该都玩过计算器,用计算器做算术,不论数字多大,它都能迅速的给出答案.而计算机不仅计算的更快,还能做更复杂的计算.计算机非常善于计算,它每秒能执行10亿次的计算. Python中 ...

  7. python json包_python编程 之 json包

    1,json是什么? JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,易于人阅读和编写. 我的理解就是:json是一种统一的格式化的文件,比如,一个jso ...

  8. python应声虫程序_Python编程基础

    第 1章 准备工作 1 任务1.1 认识Python 1 1.1.1 初识Python 1 1.1.2 了解Python发展历史 2 1.1.3 了解Python特性 2 任务1.2 搭建Python ...

  9. 用python写简易计算器_Python制作简易计算器

    导语 又到了"愉快的"周末写推送时间了~这次我们利用Python制作一个简单的计算器呗. 让我们愉快地开始吧~ 开发工具 Python版本:3.6.4 相关模块: python自带 ...

最新文章

  1. linux自己带的apache重新启动
  2. mysql 存储过程逻辑表达 and_MySQL - 存储过程 (二)- 逻辑判断语句
  3. [摘]Spring 3之MVC Security简单整合开发
  4. wget连接指定端口_新技能:wget参数有用过吗?
  5. 用matlab绘制P三曲线,知道曲线方程 怎么用matlab绘制三维图 一定要给出程序 , matlab怎样画三维曲线...
  6. 7.11 其他面向对象设计原则2:能用组合的地方,不要用继承
  7. Linux进阶之Git分布式版本控制系统篇
  8. CF1042B Vitamins
  9. 计算机如何通过手机连接网络打印机,手机连接电脑打印机怎么设置
  10. 如何打开电脑端口——以开启mysql数据库3306端口为例
  11. STM32第一课(Keil, Type, macro)
  12. 多传感器时频信号处理:多通道非平稳数据的分析工具(Matlab代码实现)
  13. domain-transfer reid郑哲东 joint 判别和生成REID
  14. 微信小游戏实现语音识别(超详细)
  15. 程序员群嘲红芯浏览器:注释过度很业余 创新混淆视听
  16. CSS+div布局总结(快速入门,附代码)
  17. mysql源生插入数据_数据库的源生查询
  18. dapper mysql_.NET Core Dapper操作mysql数据库
  19. 半导体器件基础05:肖特基二极管(1)
  20. win7下QQ2011隐藏后,鼠标移桌面边缘 QQ滑出来后又自动收进去了解决方法

热门文章

  1. Java 并发编程之 CopyOnWriteArrayList
  2. redis中有key但是删不掉_分布式锁用 Redis 还是 Zookeeper
  3. STC15W408读取HX711称重数据串口发送
  4. java跟c 的区别_【c++跟java的区别】java跟c语言的区别
  5. 使用哈工大LTP做自然语言处理任务基础demo
  6. 排序算法(3)----归并排序
  7. jdk包含java语言核心的类_1.1 jvm核心类加载器--jdk源码剖析
  8. 说说python程序的执行过程_做人,尽量不要说这四种话,一说,祸事就来了
  9. python足球投注_/usr/lib目录属性更改引发的蝴蝶效应
  10. 易经读书笔记18山风蛊