用Scratch实现十二星座查询

2020-12-15 06:56
电脑报 2020年47期
关键词:用戶数据源出生日期

每个星座都有自己独特的故事和传说,不同占星学将黄道一共分成十二星座,不同出生日期对应不同的星座(如图1)。

根据这个星座对照表,我们用Scratch编写程序,根据输入生日查询所属的星座,比如输入0802——狮子座。

根据需求分析,我们创建三个列表:星座、开始日期、结束日期。将对应的数据导入列表中,作为查找日期范围的数据源。

首先我们要创建一个询问交互过程,指令接收用户输入的出生日期,然后调用模块“星座查询”来查询用户属于哪一个星座(如图2)。

接下来创建一个“星座查询”积木,参数为出生日期,新增变量i代表月份,重复执行直到变量i>12。这个循环结构用来遍历12个星座的开始日期和结束日期,这种判断过程有两种写法:

A:如果 开始日期≤出生日期与出生日期≤结束日期那么#找到星座 否则#继续查找

B:如果 出生日期<开始日期或出生日期>结束日期那么 #继续查找 否则 #找到星座(如图3)。

系统根据用户输入的出生日期确定星座的范围条件,如果用戶输入的出生日期非法,那么显示查不到此星座,需重新输入。

这样简单的星座查询的程序就完成了,不过程序还是存在一些Bug,比如当用户输入0557,系统也会显示出双子座的月份,但是显然并没有5月57号出生的人。那么造成这个Bug的原因你找到了吗?要加什么限制条件才可以防止这种问题的发生呢(如图4)?

猜你喜欢
用戶数据源出生日期
Physically Challenged Teen Is Virtual Superman
基于用户偏好的最优路径搜索
日本
付費 還要看看值不值
图表中的交互 数据钻取还能这么用
My Dreams
An English Corner
基于Excel的照片查询系统开发与应用
再谈利用邮件合并功能批量生成准考证
数据有增加 图表自适应