• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

Python实现的计算器功能

python 搞代码 4年前 (2022-01-09) 22次浏览 已收录 0个评论

这篇文章主要介绍了Python实现的计算器功能,涉及Python四则运算、取反、百分比等相关数学运算操作实现技巧,需要的朋友可以参考下

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

源码:

# -*- coding:utf-8 -*-#! python2from 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'<span>本文来源gaodai#ma#com搞*代#码9网#</span>, '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.gaodaima.com - 计算器')# 设置窗口尺寸/位置app.master.geometry("326x170+200+200")# 设置窗口不可变app.master.resizable(width=False, height=False)# 主消息循环:app.mainloop()

运行效果:

相关推荐:

Python实现求解括号匹配问题的方法

python实现百度语音识别api

以上就是Python实现的计算器功能的详细内容,更多请关注搞代码gaodaima其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Python实现的计算器功能

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址