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

中建南方建设集团官方网站奢侈品网站 方案

中建南方建设集团官方网站,奢侈品网站 方案,专业做网站,网络营销工具与方法问题背景 假设我们需要创建一个类似于微软计算器的 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/420290/

相关文章:

  • 做第三方库网站北京网站建设的价格天
  • 做国际贸易需要网站吗服务器搭建vps教程
  • 海南棋牌网站建设无代码做网站
  • 旅游公司网站开发网站会员注册模板
  • 高端网站建设苏州网站群管理平台
  • 网站由哪几个部分组成营销技巧培训
  • 前程无忧网站开发待遇怎么样做理财的网站有哪些
  • 好网站建设公司报价模仿wordpress主题
  • 怎么做淘宝客网站优化电子商务专业怎么样
  • 怎么查网站服务器恩施市建设银行网站
  • 建设通相似的网站分销商平台
  • 惠州建设局网站首页网站外链建设常用字
  • 深圳市seo网站设计多少钱泰安网络营销网站建设
  • 广州婚恋网站排名福州建网站
  • 外销网站怎么做的自己可以做网站吗
  • 长治在百度做个网站多少钱直播软件推荐
  • 通栏 网站模板六安网络上
  • 电商网站规划论文九江茶叶网站建设
  • 网站建设是什么专业啊怎么做服装外贸网站
  • dede小游戏php网站源码iis做网站文件下载
  • 长沙做手机网站建设免费网站报价单怎么做
  • 有个网站做彩盒的网页设计网站的设计与规划
  • 免费的毕业设计网站建设京东网站建设流程和结构图
  • 长春老火车站图片青岛网站推广怎么选
  • 交通网站建设如何选择家居网站建设
  • 在北京网站建设的岗位职责网站移动终端建设
  • 做民宿的有哪些网站大连制作网站报价
  • 无版权图片做网站wordpress文章cms模板
  • 多个链接的网站怎么做的wordpress与微信对接
  • 著名网站设计江都区城乡建设局网站马局