最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
当前位置: 首页 - 科技 - 知识百科 - 正文

Python实现的计算器功能

来源:懂视网 责编:小采 时间:2020-11-27 14:12:35
文档

Python实现的计算器功能

Python实现的计算器功能:这篇文章主要介绍了Python实现的计算器功能,涉及Python四则运算、取反、百分比等相关数学运算操作实现技巧,需要的朋友可以参考下本文实例讲述了Python实现的计算器功能。分享给大家供大家参考,具体如下:源码:# -*- coding:utf-8 -*- #! py
推荐度:
导读Python实现的计算器功能:这篇文章主要介绍了Python实现的计算器功能,涉及Python四则运算、取反、百分比等相关数学运算操作实现技巧,需要的朋友可以参考下本文实例讲述了Python实现的计算器功能。分享给大家供大家参考,具体如下:源码:# -*- coding:utf-8 -*- #! py
这篇文章主要介绍了Python实现的计算器功能,涉及Python四则运算、取反、百分比等相关数学运算操作实现技巧,需要的朋友可以参考下

本文实例讲述了Python实现的计算器功能。分享给大家供大家参考,具体如下:

源码:

# -*- coding:utf-8 -*-
#! python2
from tkinter import *
__author__ = 'tianshl'
__date__ = '2017/10/16'
class Application(Frame):
 def __init__(self):
 Frame.__init__(self)
 self.grid()
 self.mem = '' # 内存中的数据
 self.opt = '' # 操作符
 self.display = StringVar() # 显示的数据
 self.display.set('0') # 初始值
 self.need_cls = False # 是否需要清屏
 self.create_widgets()
 # 清空
 def clear(self):
 self.mem = ''
 self.display.set('0')
 # 取反
 def negative(self):
 self.display.set(eval('-' + self.display.get()))
 # 四则运算
 def option(self, opt):
 if not self.need_cls:
 self.calculate()
 self.opt = opt
 self.need_cls = True
 self.mem = self.display.get()
 # 计算结果
 def calculate(self):
 if self.opt:
 try:
 self.display.set(eval(self.mem + self.opt + self.display.get()))
 except Exception:
 self.display.set('错误')
 self.need_cls = True
 self.opt = ''
 self.mem = ''
 # 百分比
 def percent(self):
 base = float(self.mem or 1) / 100
 display = eval('{}*{}'.format(self.display.get(), base))
 int_display = int(display)
 display = int_display if display == int_display else display
 self.display.set(display)
 self.need_cls = True
 # 输入
 def input(self, key):
 if self.need_cls:
 self.display.set('0')
 self.need_cls = False
 display = self.display.get()
 if display == '0' and key != '.':
 self.display.set(key)
 else:
 if '.' in display and key == '.':
 return
 self.display.set(display + key)
 # 创建组件
 def create_widgets(self):
 # 显示框
 Entry(self, textvariable=self.display, state="readonly", width=35).grid(
 row=0, column=0, columnspan=4)
 # 键盘
 keyboards = [
 ['C', '+/-', '%', '/'], 
 ['7', '8', '9', '*'], 
 ['4', '5', '6', '-'],
 ['1', '2', '3', '+'],
 ['0', '.', '=']
 ]
 for row, keys in enumerate(keyboards):
 row_num = 3 + row
 for col, key in enumerate(keys):
 if key == 'C':
 command = self.clear
 elif key == '+/-':
 command = self.negative
 elif key == '%':
 command = self.percent
 elif key in ['+', '-', '*', '/']:
 command = lambda s=key: self.option(s)
 elif key == '=':
 command = self.calculate
 else:
 command = lambda s=key: self.input(s)
 bt = Button(self, text=key, command=command, width=6)
 bt.grid(row=row_num, column=col)
app = Application()
# 设置窗口标题:
app.master.title('www.gxlcms.com - 计算器')
# 设置窗口尺寸/位置
app.master.geometry("326x170+200+200")
# 设置窗口不可变
app.master.resizable(width=False, height=False)
# 主消息循环:
app.mainloop()

运行效果:

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文档

Python实现的计算器功能

Python实现的计算器功能:这篇文章主要介绍了Python实现的计算器功能,涉及Python四则运算、取反、百分比等相关数学运算操作实现技巧,需要的朋友可以参考下本文实例讲述了Python实现的计算器功能。分享给大家供大家参考,具体如下:源码:# -*- coding:utf-8 -*- #! py
推荐度:
标签: 功能 计算器 实现
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top