当前位置:首页>python>【GESP】2025年09月Python三级 -- 日历制作

【GESP】2025年09月Python三级 -- 日历制作

  • 2026-08-27 13:00:53
【GESP】2025年09月Python三级 -- 日历制作

跟老马一起“升级打怪”学编程!

旨在为小朋友们提供全面的学习材料,共同为等级考试做好准备。

添加小助手微信,回复【GESP三级2025.09_日历制作】,获取本题源代码。

GESP三级2025.09_日历制作

【提交】

https://www.luogu.com.cn/problem/B4414

【问题描述】

小 A 想制作  年每个月的日历。他希望你能编写一个程序,按照格式输出给定月份的日历。

具体来说,第一行需要输出 MON TUE WED THU FRI SAT SUN,分别表示星期一到星期日。接下来若干行中依次输出这个月所包含的日期,日期的个位需要和对应星期几的缩写最后一个字母对齐。例如, 年  月  日是星期一,在输出九月的日历时, 号的个位  就需要与星期一 MON 的最后一个字母 N 对齐。九月的日历输出效果如下:

MON TUE WED THU FRI SAT SUN  1   2   3   4   5   6   7  8   9  10  11  12  13  14 15  16  17  18  19  20  21 22  23  24  25  26  27  28 29  30

你能帮助小 A 完成日历的制作吗?

【输入描述】

一行,一个正整数 ,表示需要按照格式输出  年  月的日历。

【输出描述】

输出包含若干行,表示  年  月的日历。

【样例输入1】

9

【样例输出1】

MON TUE WED THU FRI SAT SUN  1   2   3   4   5   6   7  8   9  10  11  12  13  14 15  16  17  18  19  20  21 22  23  24  25  26  27  28 29  30

【样例输入2】

6

【样例输出2】

MON TUE WED THU FRI SAT SUN                          1  2   3   4   5   6   7   8  9  10  11  12  13  14  15 16  17  18  19  20  21  22 23  24  25  26  27  28  29 30

【说明/提示】

对于所有测试点,保证 。

参考程序:

'''[GESP202509 三级] 日历制作https://www.luogu.com.cn/problem/B4414'''d = [0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]total = 0for i in range(1, 9):    total += d[i]w = 1 + (7 - total % 7)  # 计算1月1日是星期三m = int(input())print("MON TUE WED THU FRI SAT SUN")total = 0for i in range(1, m):    total += d[i]w = (w + total % 7) % 7if w == 0:    w = 7# 输出星期一之前的空白week = ["   "] * (w - 1)for i in range(1, d[m] + 1):# week中已有7个成员,则输出if len(week) == 7:        print(" ".join(week))        week = [f"{i:3d}"]  # 保存当前日期else:        week.append(f"{i:3d}")  # 将当前日期存入week# 如果week还有成员,则输出if len(week) != 0:    print(" ".join(week))

青少年编程竞赛交流

「青少年编程竞赛交流群」已成立(适合6至18周岁的青少年),添加小助手微信,让他邀请大家进入学习群。进群之后大家可以参与定期组织的21天刷题打卡、等级考试测评、教育部白名单比赛辅导以及青少年编程组队竞赛等活动。

最新文章

随机文章