#szsc4c. 小杨的年历
小杨的年历
小杨要做一份年历,黑板上抄着两条公历规矩:1、3、5、7、8、10、12 月每月 31 天,4、6、9、11 月每月 30 天,2 月平年 28 天、闰年 29 天;年份能被 4 整除但不能被 100 整除,或能被 400 整除,就是闰年,否则是平年。
小杨还给日子编了号:1 月 1 日是第 1 天,2 月 1 日就是第 32 天,以此类推。默认小猫角色和白色背景,编写程序算出 1 月到 12 月每个月 1 日各是第几天,再算出这一年的第 d 天是几月几日。
样例舞台效果如下图:

输入描述
新建变量“y”,表示年份,1900≤y≤2100。
新建变量“d”,表示要查这一年的第几天,1≤d≤全年总天数(平年 365,闰年 366)。
输出描述
新建列表“月首”,共 12 项,第 i 项表示 i 月 1 日是这一年的第几天。
新建变量“日期”,表示第 d 天是几月几日,写成“3月15日”的形式,月和日都不补 0,不能写成“03月15日”。
编程提示
- 先判断闰年、定下 2 月的天数,再从 1 月起累加:1 月的月首是 1,下个月的月首等于这个月的月首加上本月天数。
- 求“日期”时,找出最后一个满足“月首≤d”的月份 m,日数就是 d 减去 m 月的月首再加 1。
- 程序一开始要先删除“月首”的全部项目再依次添加,否则多运行几次列表会越积越多。
- 输入变量由系统在运行时给出,不要使用【询问并等待】积木,也不要修改“y”和“d”。变量名、列表名的拼写(包括大小写)要与题目完全一致。结果存进变量和列表即可,不必使用【说】积木。
输入样例
y = 2026
d = 74
输出样例
月首 = [1, 32, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335]
日期 = 3月15日
输入样例
y = 2024
d = 60
输出样例
月首 = [1, 32, 61, 92, 122, 153, 183, 214, 245, 275, 306, 336]
日期 = 2月29日