1

我需要编写一个运行类似于普通计算器的代码,它显示我输入的第一个数字,当我按下操作数时,输入小部件仍然显示第一个数字,但是当我按下第二个数字时号,第一个被替换。我还没有写完整的代码,但我被困在当我按下第二个数字时,第一组被替换的地步。我在考虑 if key == 其中一个操作数,然后我首先将条目上的 num 设置为变量,然后我执行 ent.delete(0,end) 以清除屏幕并 ent.insert(0,first) 到在条目小部件中显示第一个 num。现在我不知道在按下第二个数字时如何清除条目小部件。

4

1 回答 1

2

你在这里需要的是一个状态的概念。每次按下某个键时,您都会检查状态并确定要采取的操作。

在初始状态下,您输入数字。

当按下操作数按钮时,您存储操作数并更改状态。

当按下另一个数字时,您存储该数字,清除数字输入,然后重新开始数字输入。

然后,当按下等号按钮时,您将使用存储的数字和操作数以及数字输入中的当前数字执行操作。

请注意,对于像 Python 这样的动态语言,您可以根据状态更改处理按键/按钮按下的函数,而不是使用变量和 if 语句来检查状态。

于 2010-02-15T08:03:44.063 回答