- 0
- 0
- 约1.88千字
- 约 8页
- 2021-01-28 发布于北京
- 举报
目录
20027_WPSOffice_Level1 求月历开始打印位置 2
24192_WPSOffice_Level1 运行结果: 2
6961_WPSOffice_Level1 模块代码: 5
求月历开始打印位置
在前面的基础上确定某月某一日与星期的对应关系后就能够输出正确的月历,所以我们可以把这个确定星期关系定为本节的目标,面对一个月历分析一下,每月从最左端开始(日期的1号对应星期日)可以方便地控制以7个日期加入一个回车的形式输出该月的天数,但是实际的月历并不都是从最左边开始的,怎么办呢?观察得知,若开始打印位置不是周日,那么打印结束的位置就会延展相应的天数。举个例子,若某月的1日是周3,那么开始和结束打印的位置将都向后3个打印位置。那么将每月1日对应的星期设为wd,其中周日对应wd=0,周六对应wd=6。那么把打印的范围修改成:
range(print_days+wd)
运行结果:
这样就可以向后拓展打印范围了但是会有个小问题,修改的代码和运行结果:
上面代码在15行确定了wd=3,第19行拓展了打印范围,从结果看有些奇怪,输入的是2015年4月,但是日期从1打印到33了,而且打印开始的位置也不正确,对此程序需要修补一下,第20行是需要打印的日期的数字,将它改成:
pd=i+1-wd,代码和结果为:
观察结果,只需控制打印0以上的数字照原样打印,其他数字打印占位符,就可以了:
以上程序的22-31行,在原有的if结构中嵌入了判断数字是否大于0的结构。至此确定星期关系目标完成。
模块代码:
模块代码如下:
# can_2_3_toolstu_days_in_month = 0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31def is_leap_year(y): if y % 4 == 0 and y % 100 != 0 or y % 400 == 0: return True else: return Falsedef days_in_month(y, m): if is_leap_year(y) and m == 2: return 29 else: return tu_days_in_month[m]def days_before_month(y,m): sum = 0 i = 0 while im: sum+=days_in_month(y,i) i+=1 return sumdef week_day(y,m): sum = days_before_month(y,m) return (sum + 4) % 7
完整代码如下:
from can_2_3_tools import *year = input(pis input year:)month = input(pis input month:)out_str = SUN MON TUE WEN THU FRI SATi = 0wd = week_day(year,month)print_days = days_in_month(year, month)for i in range(print_days+wd): pd = i+1-wd if i % 7 == 0: if pd 0: # ^ 分别是居中、左对齐、右对齐,后面带宽度(整个字符串的宽度) bl_str = \n{:^7d}.format(pd) else: bl_str = \n else: if pd 0: bl_str = {:^7d}.format(pd) else: bl_str = out_str = out_str + bl_strprint out_str
您可能关注的文档
- 医学影像设备构造与维修 自编实训教材 CPI自编实训教程.doc
- 仪器分析 第六章 高效液相色谱分析法 任务1 认识高效液相色谱法.doc
- 仪器分析 第五章 气相色谱分析法 任务1 认识气相色谱法.doc
- 仪器分析 任务五 分光光度计 020502-分光光度计-教案.doc
- 仪器分析 仪器分析 气相色谱检测器.doc
- 仪器分析 知识点1:光的基本特性 光的基本特性-电子教案.doc
- 仪器分析 知识点3:基本结构 结构与类型(1)教案.doc
- 仪器分析技术 电位分析 8.4电子教案.doc
- 仪器分析技术 色谱法分类和特点 色谱法分类和特点.doc
- 仪器分析技术 输液系统 高压输液系统.doc
- 移动应用软件开发综合实训(基于iOS平台)-2017 ios电子字典实训-设置应用程序图标和启动屏 iOS应用程序启动图.docx
- 移动应用软件开发综合实训(基于iOS平台)-2017 iOS设备调试 iOS设备调试—在iTunes创建填写应用基本信息.docx
- 移动应用软件开发综合实训(基于iOS平台)-2017 第三方框架SDWebImage使用 iOS图片加载框架-SDWebImage.docx
- 移动应用软件开发综合实训(基于iOS平台)-2017 集合视图UICollectionView与控制器的使用 集合视图UICollectionView及控制器使用.docx
- 移动应用软件开发综合实训(基于iOS平台)-2017 应用程序发布 2017最详细iOS APP发布App Store上架流程.docx
- 移动应用软件开发综合实训(基于iOS平台)-2017 应用程序发布 iOS App上架教程.docx
- 移动游戏开发-2017 PageView PageView.docx
- 移动游戏开发综合实训-2017 拆分UV 三维场景蘑菇的UV拆分(上).docx
- 移动游戏开发综合实训-2017 导出UV线框图 三维场景枫树的UV拆分(下).docx
- 移动游戏开发综合实训-2017 构图关系 构图.docx
最近下载
- 《海上风电场工程风电机组基础设计规范》.pdf VIP
- 数学试卷答案【新高考I卷】【山东卷】【高考真题】山东省2025年山东省普通高等学校招生全国统一考试(新I卷)(6.7-6.9).docx VIP
- 桑黄编制说明.doc VIP
- 复变函数1省公开课金奖全国赛课一等奖微课获奖课件.pptx VIP
- 316L 不锈钢收缩率实验报告.docx VIP
- 中油《炼油化工企业污水回用管理导则》.doc VIP
- 《黄土高原》参考2省公开课金奖全国赛课一等奖微课获奖PPT课件.pptx VIP
- 黄土高原参考课件2.pptx VIP
- 人教版高中生物选择性必修二全册教学课件.pptx
- 上行社会比较量表.docx VIP
原创力文档

文档评论(0)