

万年历这个题目几乎是不论学哪种编程语言必要尝试的一个小知识,综合了循环,逻辑关系判断等各编程语言的基础知识。今天我们一起用Python实现简单的万年历功能(查看某年各个月份日历和查看确定月份日历)。
网上大概浏览了一部分代码,发现实现方法都是大同小异,本篇文章代码可能会略有不同,可供参考。
记得之前在学C语言的时候就去写过万年历,现在已经忘得一干二净了,用Python实现万年历主要参考了两篇文章,第一篇是向右奔跑老大之前写的java版万年历,还有一篇是在网上找的C语言实现万年历,大家也可以去参考这两篇文章的方法。
难点
万年历实现的难点自我感觉有以下几个:
- 1.计算某年一月一日为周几
- 2.计算某年确定月份的第一天为周几
- 3.整个日历格式的设定(调试是真的烦)
万年历实现
1.计算某年一月一日为周几
这里我看到网上大部分都是写的1990年一月一日为周一这个点进行判断计算其他年份的一月一日,或者是确定月份的第一天。还有一种是计算从1——年份-1这一段时间的总天数,然后+1除以7去计算得到该年份的一月一日或者是确定月份的第一天为周几(这个应该是一种计算问题,具体更多实现方法可以自己去查),这里我采用的是计算从1——该年的上一年的总天数+1,计算该年份的一月一日的周几。
2.计算某年确定月份的第一天为周几
同样的道理,计算总天数之后加上今年已经过去的月份的总天数再加1除以7取余得到
3.格式问题
这个没办法,只能自己去调试,调整到一个合适的输出格式即可
文字表述可能不清楚,可以参考代码+注释
实现代码
|
|
效果截图





近期评论