国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python實現的計算器功能示例

2020-02-22 23:51:14
字體:
來源:轉載
供稿:網友

本文實例講述了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', '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()

運行效果:

PS:這里再為大家推薦幾款計算工具供大家進一步參考借鑒:

在線一元函數(方程)求解計算工具:
http://tools.jb51.net/jisuanqi/equ_jisuanqi

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 武陟县| 平谷区| 同心县| 广安市| 大宁县| 巴青县| 大冶市| 定西市| 昌黎县| 平远县| 会泽县| 咸宁市| 商南县| 凯里市| 锦屏县| 武平县| 广灵县| 尼勒克县| 多伦县| 个旧市| 和林格尔县| 凤城市| 施秉县| 翼城县| 察隅县| 金溪县| 张掖市| 丰宁| 健康| 长汀县| 雅安市| 绥宁县| 名山县| 休宁县| 句容市| 吴桥县| 元阳县| 翁牛特旗| 阳朔县| 焉耆| 胶南市|