python编程计算器_Python编程之计算器/字符及界面
界面方式:
#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编程之计算器/字符及界面相关推荐
- python编程计算_python编程 小小计算器
我是刚学的python编程 今天想编一个计算器,结果提示错误 各位老鸟帮帮忙 # Filename : jisuanqi.py a = int(raw_input('a')) fu = raw_inp ...
- python编程规则_python编程规则
广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 只有写一个完整的不依赖系统命令(如,复杂的程序)的情况下才有必要用到python ...
- python编程优势_Python编程的优势是什么
Python编程的优势是什么 发布时间:2020-06-26 13:54:14 来源:亿速云 阅读:110 作者:Leah Python编程的优势是什么?针对这个问题,这篇文章详细介绍了相对应的分析和 ...
- python编程计算器_python怎么编写计算器程序
该计算器是使用Python tkinter模块进行开发的.下面给大家介绍具体代码: 效果如下图: 代码如下:import tkinter #导入tkinter模块 root = tkinter.Tk( ...
- python编程简易计算器_Python编程练习049:简单计算器实现
以下代码用于实现简单计算器实现,包括两个数基本的加减乘除运算: 定义函数 def add(x, y): """相加""" return x ...
- python数字计算公式_Python编程5:Python中的数字和数学运算
#少儿编程# 小朋友们应该都玩过计算器,用计算器做算术,不论数字多大,它都能迅速的给出答案.而计算机不仅计算的更快,还能做更复杂的计算.计算机非常善于计算,它每秒能执行10亿次的计算. Python中 ...
- python json包_python编程 之 json包
1,json是什么? JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,易于人阅读和编写. 我的理解就是:json是一种统一的格式化的文件,比如,一个jso ...
- 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 ...
- 用python写简易计算器_Python制作简易计算器
导语 又到了"愉快的"周末写推送时间了~这次我们利用Python制作一个简单的计算器呗. 让我们愉快地开始吧~ 开发工具 Python版本:3.6.4 相关模块: python自带 ...
最新文章
- linux自己带的apache重新启动
- mysql 存储过程逻辑表达 and_MySQL - 存储过程 (二)- 逻辑判断语句
- [摘]Spring 3之MVC Security简单整合开发
- wget连接指定端口_新技能:wget参数有用过吗?
- 用matlab绘制P三曲线,知道曲线方程 怎么用matlab绘制三维图 一定要给出程序 , matlab怎样画三维曲线...
- 7.11 其他面向对象设计原则2:能用组合的地方,不要用继承
- Linux进阶之Git分布式版本控制系统篇
- CF1042B Vitamins
- 计算机如何通过手机连接网络打印机,手机连接电脑打印机怎么设置
- 如何打开电脑端口——以开启mysql数据库3306端口为例
- STM32第一课(Keil, Type, macro)
- 多传感器时频信号处理:多通道非平稳数据的分析工具(Matlab代码实现)
- domain-transfer reid郑哲东 joint 判别和生成REID
- 微信小游戏实现语音识别(超详细)
- 程序员群嘲红芯浏览器:注释过度很业余 创新混淆视听
- CSS+div布局总结(快速入门,附代码)
- mysql源生插入数据_数据库的源生查询
- dapper mysql_.NET Core Dapper操作mysql数据库
- 半导体器件基础05:肖特基二极管(1)
- win7下QQ2011隐藏后,鼠标移桌面边缘 QQ滑出来后又自动收进去了解决方法
热门文章
- Java 并发编程之 CopyOnWriteArrayList
- redis中有key但是删不掉_分布式锁用 Redis 还是 Zookeeper
- STC15W408读取HX711称重数据串口发送
- java跟c 的区别_【c++跟java的区别】java跟c语言的区别
- 使用哈工大LTP做自然语言处理任务基础demo
- 排序算法(3)----归并排序
- jdk包含java语言核心的类_1.1 jvm核心类加载器--jdk源码剖析
- 说说python程序的执行过程_做人,尽量不要说这四种话,一说,祸事就来了
- python足球投注_/usr/lib目录属性更改引发的蝴蝶效应
- 易经读书笔记18山风蛊