用Python创建类似于MS计算器的GUI计算器
我需要写一段代码,让它的运行方式和普通计算器类似。具体来说,就是当我输入第一个数字后,它会显示出来;然后当我按下运算符时,输入框里仍然显示第一个数字。但是当我输入第二个数字时,第一个数字就会被替换掉。目前我还没写完整个代码,但我卡在了一个地方:当我按下第二个数字时,第一个数字被替换掉了。我在想,如果按下的键是运算符,我就把输入框里的数字存成一个变量,然后用 ent.delete(0,end) 来清空输入框,再用 ent.insert(0,first) 把第一个数字显示出来。现在我不知道当按下第二个数字时,怎么才能清空输入框。
1 个回答
2
这里你需要理解一个“状态”的概念。每次按下一个键时,你都要检查一下当前的状态,然后决定该采取什么行动。
在最开始的状态下,你是输入数字的。
当你按下一个运算符按钮时,你就把这个运算符存起来,并且改变状态。
如果再按下一个数字,你就把这个数字存起来,清空之前的数字输入,然后重新开始输入数字。
最后,当你按下等于按钮时,你就用之前存的数字和运算符,结合当前输入的数字来进行计算。
需要注意的是,在像Python这样的动态语言中,你不需要用变量和条件语句来检查状态,而是可以根据当前状态直接改变处理按键的函数。