이 글에서는 주로 Python에서 구현한 계산기 기능을 소개하며, Python의 4가지 산술 연산, 부정, 백분율 및 기타 관련 수학 연산 연산의 구현 기술을 소개합니다.
이 글에서는 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.jb51.net - 计算器') # 设置窗口尺寸/位置 app.master.geometry("326x170+200+200") # 设置窗口不可变 app.master.resizable(width=False, height=False) # 主消息循环: app.mainloop()
작동 효과:
관련 권장 사항:
괄호 일치 문제를 해결하기 위한 Python 구현 방법
위 내용은 Python으로 구현된 계산기 기능의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!