2180浏览
查看: 2180|回复: 2

[项目] 行空板小应用——计算器(一)

[复制链接]
本帖最后由 怀若谷 于 2023-5-2 20:01 编辑

行空板小应用——计算器(一)图1


【前言】

   入手行空板快一年了,跟着官方教程学习了几节课,用它也做过几个创客项目。但是,我只是把它当成了一个带大屏幕的主控板而已,感觉有点大材小用。要知道,行空板可是为学习Python而生的!最近空余时间也在啃Python的教材,说实话,不学点基础的Python知识,要玩好行空板也很难。前不久,看到有个用Python编写计算器的小作业,使我萌发了编写一个在行空板的计算器程序的念头。
   计算器程序,看似简单,但是对于我这个小白来说,遇到的困难还不少。一开始,想实现常用计算器程序的全部功能,发现超出了自己的能力。后来,选择了从简单开始,逐步迭代升级。到目前为止,能实现的是进行一步整数四则运算,后面将探索实现小数四则运算、多步连续运算的功能。

演示视频↑

【设计思路】


行空板小应用——计算器(一)图2
在编写计算器程序过程中,我主要从以下几个方面进行:
(一)界面设计
    用户使用界面,主要分为三个部分:程序主题——“计算器”、输入及输出显示框、输入按钮。为了美观和使用者喜好,后期版本可以切换主题。
(二)数据输入(储存)
由于已经数字及运算符等以按钮的形式分布在界面中,只要按下相应的按钮即可实现输入。但是,将一个个零散的数字、运算符以适当的形式(如变量、字符窜、列表等)存储下来,以便供其他功能模块进行调用是很关键的。
(三)屏幕显示
将需要显示的内容以靠右对齐的方式显示在显示框中,比较符合人们的使用习惯。初级版本显示内容比较单一,数字、运算符是单独显示。例如:56+10=66,将分屏显示四次,分别为:56、+、10、66。这样比较容易实现。后期版本,可以直接将完整的输入与输出同屏显示。
(四)运算
运算对于计算机来说,是很擅长的事,编程软件中也有各种现成的运算指令可用。难度在于如何从以字符串、列表等形式存储的数据中提取并分解出参与运算的数字及运算符。

【程序设计】
一、界面设计
1.在屏幕上方中间显示名称——“计算器”
行空板小应用——计算器(一)图3
2.在名称下方显示一个圆形矩形作为输入输出显示框
行空板小应用——计算器(一)图4
3. 在显示框下方显示清除按钮——“C”
行空板小应用——计算器(一)图5
4.为按钮添加对应的回调函数(加一个等待指令即可)
行空板小应用——计算器(一)图6
5.在主程序下加入“循环执行”指令
行空板小应用——计算器(一)图7
6.测试上述程序结果
行空板小应用——计算器(一)图8
将编写好的部分程序上传到行空板进行测试、修改。没有问题后,可以进行其他按钮的设置及对应回调函数的程序编写。

7.用户界面显示完整程序
行空板小应用——计算器(一)图9

二、计算器V0.1程序设计
为了测试各个按钮的回调函数能否正常运行,先设计一个简单的计算程序,只能够进行一位整数的四则运算。
1.添加显示内容的文字对象,建立多个变量用于存储及运算
行空板小应用——计算器(一)图10
2.为清除按钮“C”的回调函数编写程序
行空板小应用——计算器(一)图11
3.为四个运算按钮的回调函数编写程序
行空板小应用——计算器(一)图12
4.为计算按钮“=”的回调函数编写程序
行空板小应用——计算器(一)图13
5.为数字按钮的回调函数编写程序(以“7”为例)
行空板小应用——计算器(一)图14
6.按钮“.”的回调函数程序不改变
行空板小应用——计算器(一)图15
当上述程序都编写好后,上传到行空板进行测试。测试成功后,可进行下一步的工作。

三、计算器V0.2程序设计
  为了实现多位整数的输入、存储和提取,使用了“字符串”相关的处理指令。
设计思路是:程序启动或者按下清除按钮后,建立一个空字符串变量;当按下数字按钮后,依次将对应的数字存入字符串中;当按下运算符按钮后,将字符串的内容转换成整数后存入一变量a中,清空字符串,以便存储后面的输入信息;当按下“=”按钮后,将字符串的内容转换成整数后存入一变量b中,根据前面按下的运算符进行相应的运算,将结果存入变量c中。
  以下为部分程序,完整程序见附件。
行空板小应用——计算器(一)图16
行空板小应用——计算器(一)图17
行空板小应用——计算器(一)图18
行空板小应用——计算器(一)图19
行空板小应用——计算器(一)图20


本人水平有限,尚在学习中,欢迎朋友们指教!



程序源文件.zip

519.56 KB, 下载次数: 104

木子呢  管理员

发表于 2023-5-4 11:37:05

回复

使用道具 举报

若晗  中级技师

发表于 2023-5-4 13:23:36

很赞,期待下一个版本
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail