“万年历——日期查询”

图文编辑:逻辑熊猫

图片来源:网络与截图

欢迎朋友圈各种姿势转发

一个软件的关键在于

你想用它来做什么

一、功能描述

查询日期如:wnl.py 2007/01/01

显示月日历:wnl.py 2007/01

二、源代码

三、代码拆解

参数获取:

如果想要从操作系统获取参数,需要使用sys模块。

为使调试方便,增加了手动输入参数的功能,输入参数的格式应该正确,否则会报错

如:2007/01/01

或:2007/01/

日期判断:

使用了dy,dm等参数表示一年中的日差和一月中的日差。m2为闰月的标志以及作为一个日差来使用。

使用到的公式:

代码备注:

print()打印月日历时,将end设置为空格。否则会换行,每行仅剩一个数字

dm从每个月的判断中获得,由于python未提供switch相关的功能,这里只能使用if-elif-else格式

为减少代码行数,使用“;”使一行中可以写下多个语句

该程序中基本年为2000年。

四、笔者评述

这是一个简单小程序,从这个程序说明,对于编程而言,有一定的数学基础是比较重要的,除此之外锻炼逻辑思维能力可以提高编程能力。

从实用性角度来讲,这并不是一个有用的程序,但是作为学习,是非常不错的。

代码的优化力度不大,但是可优化空间很大,这是一个简单的实现,从操作性上来讲,比较头疼,比如,不能连续查询,对参数格式比较依赖等。

五、思考

关于此代码的不足,请读者们在学习或者作为积累代码库的时候,尝试修改代码,比如给代码添加连续查询功能,让参数的格式变得自由,或者给程序带上参数,增加新的功能等。

六、结尾

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180513G16YLJ00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券