计算器e7是什么意思啊
不久前,我自主开发了一个名为“sui-math”的库,这其实是数学工具的翻版。在python能轻易完成各种数学计算的基础上,我产生了一个想法:为何不用python开发一个专门的计算器小程序呢?
今天,让我们一同走进计算器的世界,利用python来编写一个实用的计算器。
废话不多说,让我们先来欣赏一下整体效果。用户可以通过鼠标或键盘输入数字或符号,只需按下等号,即可进行运算。
本教程借助python的pygame库来实现这一程序。在学完本教程后,你还可以利用pygame库来制作小游戏。接下来,我将简要介绍一下pygame及其安装过程。
我们需要安装pygame库。
逻辑在于不断获取用户的操作,直到用户按下quit键(关闭)。这个过程可以称为事件处理器,即一个大的“while True:”循环,对用户所有的操作作出反应。详细代码会在后面给出。
对于其他语言来说,计算可能是一个大问题。但python不同,它有一个特殊的内置函数叫做eval,这个只有四个字母的函数,为计算器运算提供了解决方案。
举个例子,现在已经可以获取用户按下的操作,比如符号或数字。但问题是,我们怎么知道用户在按下等号前会按下多少个符号和数字呢?可能是一个,也可能是一百个。我们设定一个变量,一个空的字符串。每当用户按下一个数字或符号,这个字符串就会增加相应的内容,并在屏幕上显示。例如:
当用户按下“1”时,字符串num就会增加字符“1”。然后,我们在屏幕上显示这个字符串。具体实现会在代码中详细解释。每次操作后都需要更新屏幕显示。
当用户按下等号的那一刻,字符串停止增加并开始进行计算。Eval函数专门用于计算字符串。计算完成后,将结果显示在屏幕上,并将字符串清空。代码如下:
获取用户是否按下某个按键需要用到if语句来判断。具体的代码实现会在后面给出。这里需要注意的是,“x”和“y”是用来获取用户鼠标位置的。
在定位图片时,你需要知道每张图片的长和宽。具体的定位方在代码中详细解释。我也会在github上提供完整的代码和对映表供大家参考和学习。
在开始编写代码之前,我们需要导入pygame和sys两个库,并进行初始化设置。接着,定义计算机的长和宽。Pygame的颜色是由红、绿、蓝三个颜色级别控制的,每一级的最高值为255,最低为0。例如,(225,225,225)代表白色,(0,0,0)代表黑色。
Pygame的blit函数是用来显示图片和文字的。接下来是处理退出事件的部分,这也是一个事件处理器,不断获取用户的操作并作出反应。关于文字的显示方在代码中详细解释。
为了让按键能够在屏幕上显示,我们需要使用Pygame的blit函数。关于图片的显示方法也会在代码中详细解释。这里需要强调的是,所有需要用到的图片都需要先导入到程序中。代码如下:
至此,计算器程序的核心内容就介绍完毕了。如果你有兴趣的话,可以尝试自己动手试试!如果你在学习过程中遇到了问题或者bug,可以在github的issue板块留言,我会尽快回复的!希望这篇文章对你有所帮助!