编写程序显示单月的日历。用户指定这个月的天数和该月起始日是星期几: 31 3 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 31 输入 1、输入这个月的天数。 2、输入该月起始日是星期几(1=Sun,7=Stat)。 输出 输出单月的日历,日与日之间间隔一个空格,上下行日期右对齐。
时间: 2023-12-29 10:05:54 浏览: 87
好的,这是一个简单的单月日历程序,您可以在命令行中输入月份的天数和起始日来运行它:
```python
days_in_month = int(input("请输入这个月的天数:"))
start_day = int(input("请输入该月起始日是星期几(1=Sun,7=Sat):"))
print(" Mo Tu We Th Fr Sa Su")
# 计算第一行前面需要有多少空格
for i in range(1, start_day):
print(" ", end="")
# 打印日历
day = 1
while day <= days_in_month:
# 每行打印七天
for i in range(start_day, 8):
if day <= days_in_month:
print("{:2d}".format(day), end=" ")
day += 1
else:
break
print()
start_day = 1
```
这个程序会输出一个类似于这样的日历:
```
Mo Tu We Th Fr Sa Su
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 31
```
请注意,程序中使用了 `{:2d}` 这个格式化字符串来保证输出的数字都是两位数,这样才能保证上下行日期右对齐。
阅读全文