当前位置: 首页 > news >正文

黄冈公司网站推广软件首选网站建设常规尺寸

黄冈公司网站推广软件首选,网站建设常规尺寸,智能小程序官网,浅蓝色.net企业网站源码带后台问题背景 假设我们需要创建一个类似于微软计算器的 GUI 计算器。这个计算器应该具有以下功能: 能够显示第一个输入的数字。当按下运算符时,输入框仍显示第一个数字。当按下第二个数字时,第一个数字被替换。 解决方案 为了解决这个问题&am…

在这里插入图片描述

  1. 问题背景

假设我们需要创建一个类似于微软计算器的 GUI 计算器。这个计算器应该具有以下功能:

  • 能够显示第一个输入的数字。
  • 当按下运算符时,输入框仍显示第一个数字。
  • 当按下第二个数字时,第一个数字被替换。
  1. 解决方案

为了解决这个问题,我们需要使用状态的概念。每次按下按键时,检查状态并确定要采取的操作。

  • 起始状态:输入数字。
  • 当按下运算符按钮时:存储运算符,改变状态。
  • 当按下另一个数字时:存储数字,清除数字输入,重新开始数字输入。
  • 当按下等号按钮时:使用存储的数字和运算符以及数字输入中的当前数字,执行操作。

使用动态语言,例如 Python,可以改变处理按键/按钮按下事件的函数,而不是使用变量和 if 语句来检查状态。

import tkinter as tkclass Calculator:def __init__(self):self.window = tk.Tk()self.window.title("Calculator")# 创建显示屏self.display = tk.Entry(self.window, width=30)self.display.grid(row=0, column=0, columnspan=4)# 创建数字按钮self.buttons = [["7", "8", "9", "/"],["4", "5", "6", "*"],["1", "2", "3", "-"],["0", ".", "=", "+"]]# 创建运算符按钮self.operators = ["/", "*", "-", "+"]# 创建状态变量self.state = "number"# 创建数字列表self.numbers = []# 创建运算符列表self.operators = []# 创建计算结果变量self.result = None# 创建按钮for row in range(4):for column in range(4):button = tk.Button(self.window, text=self.buttons[row][column], command=lambda row=row, column=column: self.handle_button_press(row, column))button.grid(row=row+1, column=column)def handle_button_press(self, row, column):# 获取按钮值button_value = self.buttons[row][column]# 检查按钮值是否是数字if button_value in "0123456789.":# 如果是数字,则将数字添加到数字列表self.numbers.append(button_value)# 更新显示屏self.display.delete(0, tk.END)self.display.insert(0, "".join(self.numbers))# 检查按钮值是否是运算符elif button_value in self.operators:# 如果是运算符,则将运算符添加到运算符列表self.operators.append(button_value)# 改变状态self.state = "operator"# 更新显示屏self.display.delete(0, tk.END)self.display.insert(0, "".join(self.operators))# 检查按钮值是否是等号elif button_value == "=":# 如果是等号,则执行计算self.result = eval("".join(self.numbers) + self.operators[0] + "".join(self.numbers))# 更新显示屏self.display.delete(0, tk.END)self.display.insert(0, self.result)# 重置状态self.state = "number"# 清空数字列表和运算符列表self.numbers = []self.operators = []def run(self):self.window.mainloop()if __name__ == "__main__":calculator = Calculator()calculator.run()
http://www.yayakq.cn/news/268082/

相关文章:

  • 千助网站公司wordpress自定义字段上传图片功能
  • wordpress建站安全吗国外专门做童装的网站有哪些
  • 湘潭市高新建设局施工报建网站手机网页翻译
  • 深色网站网页设计软件介绍
  • 旅游网站模板大全沈阳怎么制作网站程序
  • 做网站公司高端东莞网站优化排名系统
  • wordpress get_the_idseo外链推广平台
  • 怎么做类似淘宝网站吗南通精诚建设集团有限公司网站
  • 做网站应该了解什么软件seo关键词搜索和优化
  • 做c 题的网站青岛专业网站建设
  • 苏州优秀网站设计企业网站分站开发计划书
  • 盐城网站建设优化建站ui设计哪家培训好
  • 有哪些做农产品的网站有哪些手工活外发加工正规厂家直接发货
  • 烟台制作网站的公司制作微信公众号
  • 商业网站建站wordpress. 说说样式
  • 自己做网站需要服务器吗做网站怎么更新静态页
  • 网站项目策划书方案郑州做网站远辰
  • 运河经济开发区建设局网站黄冈个人网站建设平台
  • 网站规划建设与管理维护大学论文蓝天网站建设
  • 一个网站有几个快照厦门seo搜索引擎优化
  • 宁夏住房和建设厅网站合肥网站建设模块
  • 做网站负责人有法律风险吗发卡网站怎么做
  • 如何建立个人免费网站凡客诚品购物流程设计
  • 东莞市建设安监监督网站查看网站信息图标怎么做
  • 校园门户网站开发需求分析做相册网站logo
  • 广州网站seo推广wordpress主题 表白
  • wordpress闭站网站建设简单
  • 帝国cms网站地图xml用仿站软件做的网站seo如何
  • WordPress站点地图html代码建设一个网站的流程.
  • 大德通众包 做网站怎么样营销型网站建设公司方法和技巧