1 Star 0 Fork 15

simon / day0515_jackfrued

forked from jackfrued / review 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
mycal.py 1.46 KB
一键复制 编辑 原始数据 按行查看 历史
jackfrued 提交于 2020-05-15 12:02 . 规范了mycal.py文件
#!/usr/bin/python3
"""
万年历程序
"""
import sys
from datetime import datetime
def is_leap(year):
"""
判断闰年
:param year: 年份
:returns: 如果是闰年返回True否则返回False
"""
return year % 4 == 0 and year % 100 != 0 or year % 400 == 0
def days_of_month(year, month):
"""
获取指定的月份有多少天
:param year: 年份
:param month: 月份
:returns: 该月份的天数
"""
days = [None, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
total = days[month]
return total + 1 if month == 2 and is_leap(year) else total
def main():
"""主函数"""
if len(sys.argv) == 3:
month, year = map(int, sys.argv[1:])
else:
curr_date = datetime.now()
year, month = curr_date.year, curr_date.month
y, m = (year, month) if month > 2 else (year - 1, month + 12)
c, y = y // 100, y % 100
w = y + y // 4 + c // 4 - 2 * c + 26 * (m + 1) // 10
w %= 7
month_names = [
'', 'January', 'Feburary', 'March', 'April', 'May', 'June',
'July', 'August', 'September', 'October', 'November', 'December'
]
print(f'{month_names[month]} {year}'.center(20))
print('Su Mo Tu We Th Fr Sa')
print(' ' * w * 3, end='')
days = days_of_month(year, month)
for day in range(1, days + 1):
print(f'{day}'.rjust(2), end=' ')
w += 1
if w == 7:
w = 0
print()
print()
if __name__ == '__main__':
main()
1
https://gitee.com/maoxu123321/day0515_jackfrued.git
git@gitee.com:maoxu123321/day0515_jackfrued.git
maoxu123321
day0515_jackfrued
day0515_jackfrued
master

搜索帮助