授权转载自: 小海豚科学馆 公众号

欢迎大家想进阶学习Scratch数学算法的可以关注她!

星座是占星学中必不可少的组成部分之一,也是天上一群群的恒星组合。自从古代以来,人类便把三五成群的恒星与他们神话中的人物或器具联系起来,每个星座都有自己独特的故事和传说。

在西方占星学上,黄道12星座是宇宙方位的代名词,一个人出生时,各星体落入黄道上的位置,说明了一个人的先天性格及天赋。黄道12星座象征心理层面,反映出一个人行为的表现的方式。于是将黄道分成12个星座,称为黄道12星座。

星座名称

开始日期

结束日期

白羊座

3月21日

4月20日

金牛座

4月21日

5月21日

双子座

5月22日

6月21日

巨蟹座

6月22日

7月22日

狮子座

7月23日

8月23日

处女座

8月24日

9月23日

天秤座

9月24日

10月23日

天蝎座

10月24日

11月22日

射手座

11月23日

12月21日

摩羯座

12月22日

1月20日

水瓶座

1月21日

2月19日

双鱼座

2月20日

3月20日

根据上面星座日期对照表,请你用Scratch编写程序,通过输入一个人的生日查询出所属的星座。

【编程解题】

1、数据整理。

我们把星座名称、开始日期和结束日期分别保存到3个不同的文本文件中,每个数据占据一行。日期格式为:mmdd,即月和日分别用两位数字表示,比如1月1日,则输入0101。查询星座时也要按此格式输入日期。小海豚科学馆(微信公众号)提示您,使用windows系统自带的记事本软件。

2、数据导入。

分别创建三个列表:星座、开始日期、结束日期,再将星座数据导入这个三个列表中。在舞台上的列表的空白区域点击鼠标右键,在弹出的右键菜单中使用“导入”命令把整理好的三个数据文件的内容分别导入对应的列表中。

3、编写入口程序。

使用“询问……并等待”指令接收用户输入的出生日期,然后调用模块“星座查询”来查询用户属于哪个星座。

4、编写模块“星座查询”。

创建一个名为“星座查询”的模块,参数为:出生日期。再用“重复执行直到……”指令构建一个循环结构来遍历十二星座的开始日期和结束日期,并在循环体内“如果……那么”指令判断用户输入的出生日期是否在哪个星座所属的范围内。依次判断“开始日期”列表和“结束日期”列表中的各项,直到找到匹配的星座,就将星座名称用“说”指令输出,并结束程序运行。

判断出生日期是否在开始日期和结束日期的范围内有两种方式,可用伪码表示为:

(1) “与”方式:

如果 开始日期  出生日期  出生日期  结束日期 那么

        #找到星座

否则

        #继续查找

由于Scratch中没有“≤”运算符,就需要把“<”和“=”两种运算符结合使用。这样整个表达式就显得长而复杂。

(2) “或”方式:

如果 出生日期 < 开始日期  出生日期 > 结束日期 那么

       #继续查找

否则

        #找到星座

小海豚科学馆(微信公众号)建议你使用这种简洁的方式。

模块“星座查询”的代码如下:

到这里,小海豚科学馆(微信公众号)已经带领你把星座查询的程序编写完毕。点击绿旗运行程序,就可以输入日期查询星座了。赶快试试吧!

5、试一试

如果你是摩羯座的,那么将查不到结果的,而是找到了一个严重的BUG。小海豚科学馆(微信公众号)请你查看前面的星座日期对照表中的摩羯座的数据,想想这是为什么?

摩羯座

12月22日

12月31日

摩羯座

1月1日

1月20日

如果把摩羯座的数据修改为上面两行,并重新导入各个列表中,就能查询到结果了。

你想明白了吗?作为一个耐心而又细心的摩羯座,请你赶快修复这个BUG吧!

Scratch案例推荐

????▷Scratch课堂丨空战游戏-保卫南海

????▷Scratch课堂丨雪花曲线【递归解说】

????▷Scratch课堂丨在Scratch上制作打地鼠

????▷Scratch课堂丨在Scratch上画五环等图形

????▷Scratch课堂丨在Scratch上制作接红包游戏

????▷Scratch中做一个简单迷宫小游戏,值得您收藏!

????▷Scratch中实现一个按钮的动画效果,值得您收藏!

????▷Scratch课堂丨在Scratch上制作植物大战僵尸游戏

????▷Scratch课堂丨什么是云变量?怎么用它来做数据排名?

????▷圣诞节快乐!用Scratch来制作圣诞老人发礼物,值得你收藏!

????▷Scratch课堂丨用Scratch来制作谷歌浏览器中的奔跑小恐龙游戏!

????▷Scratch课堂丨模拟物理算法:万有引力、曲线运动,值得您的收藏!

更多算法案例,大家可以买这本书进行研究

用Scratch实现十二星座查询相关推荐

  1. 十二星座的美丽传说——星座查询api接口

    星座的美丽传说 十二星座的美丽传说,相信大家都有所耳闻,如果要说出它的来源可不是人人都能说来的,这里让我们一起来听听星座文明起源的故事吧:星座起源为米索不达亚文明,是天上的恒星组合,也是用来确定天空方 ...

  2. 【资源搜集】7 款不错的聊天机器人 API 接口搜集

    前段时间玩微信爬虫,仿佛打开了新世界的大门. 使用 wxpy 库调用微信的接口,可以获取好友信息,聊天消息收发等功能. 脑洞一开,这样不就可以用来做 聊天消息防撤回,红包提醒,自动回复这些有意思的玩意 ...

  3. 生活常用类API推荐

    之前在网上看到了一些很不错的生活常用类的API,今天在这里整理出来分享给大家~ 阿里云 中华万年历API,中华万年历 宜忌测开张.测乔迁.测结婚.测签约.测动工.测栽种.测出行.测入宅.测纳彩:逢凶化 ...

  4. 【资源搜集】聊天机器人 API 搜集汇总

    搜集整理了一些比较好用的 "聊天机器人" 的 API 接口. 如果后期有机会的话,把它们接入我的程序中,做一个陪聊小助手,也是一个不错的选择. 小 i 机器人 有网页版和手机版,网 ...

  5. 数据结构与算法(C语言)

    第一章: 数据结构绪论 1.什么是程序:程序 = 数据结构 + 算法 2.逻辑结构&物理结构的区别用法 基本的目标就是将数据及其逻辑关系存储到计算机的内存中 一:逻辑结构: 逻辑结构是指数据对 ...

  6. 微信小程序:十二星座运势查询

    不错,这是一款星座查询小程序 该款小程序支持分男女查询 支持给综合运势,爱情运势,事业运势,财富运势等等打星 支持每种运势解说,支持查看特点等等功能 另外该款小程序还支持激励视频提前查看明日往后日子的 ...

  7. 【小程序源码】十二星座运势查询

    这是一款星座查询小程序 该款小程序支持分男女查询 支持给综合运势,爱情运势,事业运势,财富运势等等打星 支持每种运势解说,支持查看特点等等功能 总得来说还是挺好的! 下面就来看看小编的测试演示图吧: ...

  8. 十二星座运势查询微信小程序源码

    不错,这是一款星座查询小程序 该款小程序支持分男女查询 支持给综合运势,爱情运势,事业运势,财富运势等等打星 支持每种运势解说,支持查看特点等等功能 另外该款小程序还支持提前查看明日往后日子的运势 总 ...

  9. 小程序源码:十二星座运势查询-多玩法安装简单

    不错,这是一款星座查询小程序 该款小程序支持分男女查询 支持给综合运势,爱情运势,事业运势,财富运势等等打星 支持每种运势解说,支持查看特点等等功能 另外该款小程序还支持激励视频提前查看明日往后日子的 ...

最新文章

  1. 关于linux的root用户密码忘记处理成绩
  2. E - 数据结构实验之排序五:归并求逆序数
  3. 通过js判断不同终端类型,跳转到不同的页面
  4. CSS :before :after 伪类选择器
  5. 【渝粤题库】陕西师范大学200401 初等代数研究 作业(专升本)
  6. sonarqube对接maven
  7. linux创建更改目录,Linux中目录的创建与删除命令使用说明
  8. 黄聪:详解 ManualResetEvent(转)
  9. Atitit 项目管理之沟通管理概论问题管理 艾提拉著 跨语言沟通 群组沟通 书面沟通 目录 1. 沟通方式 2 1.1. 书面沟通 vs 当面沟通 2 1.2. 群组沟通(公开沟通) vs
  10. Microsoft Edge无法打开测试平台的解决方法
  11. Google Earth Engine —— LandTrendr JavaScript 模块API(2万多字长文)
  12. html 怎么设置hr的颜色,html hr标签能设置黄颜色吗
  13. 将1自动补位为01_自动补位为辅助后游戏就输了一半?那是你不懂辅助的正确打开方式...
  14. 【CTF WriteUp】UTCTF 2020部分题解
  15. 法语的小舌音哪个比较难学
  16. MFC在两控件间画线
  17. java实现多媒体播放器_Java swing实现简单的视频多媒体播放器源码附带视频指导运行教程...
  18. 数学期望 极小值的几种求法
  19. 织梦功能模块模板路径对应表
  20. Pycharm简单的爬虫实现——打开网页

热门文章

  1. pspice B-2
  2. 数学分析教程(科大)——3.2笔记+习题
  3. 如何给OpenWrt打patch补丁
  4. C/C++FPS实战CSGO矩阵方框透视骨骼自瞄实战教程
  5. Jabber简单工作过程(转)
  6. 力扣算法学习(十三)
  7. mac系统M1pro芯片安装VMware Fusion虚拟机win11操作系统(原创详细版)
  8. 5-35计算N个分式有理数的平均值
  9. realloc函数和malloc函数区别
  10. 深度网络设计技巧(五)之VAN:Visual Attention Network#超越Swin的纯CNN#