Python 语言基础 综合训练2_编写万年历
2020-06-10 04:25
447 查看
任务要求:
1.按日历格式输出天数
2.按年月判断闰年输出正确天数
3.输出月历的正确格式
第一步:设计功能函数模块文件
[code]#coding=utf-8 def leap_year(year): ''' 判断是否为闰年的函数 闰年的条件: 1.能被4整除,但不能被100整除的年份都是闰年 2.能被400整除的年份是闰年 不符合这两个条件的年份不是闰年 :param year: 年份 ''' if year%4==0 and year%100!=0 or year%400==0: return True else: return False def get_month_days(year,month): ''' 返回一个月的天数的函数 返回可能的天数: 1.月份为:4 6 9 11,返回30天 2.月份为:2,若为闰年,则返回29天,否则返回28天。 3.其它返回31天。 :param year: 年份 :param month: 月份 ''' days=31 if month==4 or month==6 or month==9 or month==11: days=30 if month==2: if leap_year(year): days=29 else: days=28 return days def get_week_begin_day(year,month): ''' 获得输入年月的第一天是星期几的函数 :param year: 年份 :param month: 月份 ''' totaldays=0 for i in range(1,year): if leap_year(i): totaldays+=366 else: totaldays+=365 for i in range(1,month): totaldays +=get_month_days(year,i) return totaldays%7+1 def get_month(year,month): ''' 输出日历格式函数 :param year: 年份 :param month: 月份 ''' t = ("日", "一", "二", "三", "四", "五", "六") for i in t: print(i, end="\t") if (i=='六'): print() days = get_month_days(year, month) begin_day = get_week_begin_day(year, month) l = [] while begin_day > 0: l.append("") begin_day -= 1 for day in range(1, days + 1): l.append(day) for i in range(len(l)): print(l[i], end="\t") if (i + 1) % 7 == 0: print() '''并增加__main__判断,使得本模块脚本既可以用于导入,也可以执行。每一个模块都有一个特殊变量__name__(Python使用双下划线命名一些特殊变量),当导入这个模块时,该变量指明了模块的名字。但当该模块直接执行时,__name__变量就赋值为一个字符串“__main__”,而不再是模块名了。 ''' if __name__=='__main__': year = int(input('请输入年份:')) month = int(input('请输入月份:')) get_month(year,month)
第二步:设计主调程序模块文件
[code]#coding=utf-8 import cale year=int(input('请输入年份:')) month=int(input('请输入月份:')) cale.get_month(year,month)
相关文章推荐
- 利用python基础编写简单的日历
- python 编程语言基础技术框架
- Python语言基础(面向对象思想)(day10)
- python练习之安装,基础知识应用以及脚本编写
- Python语言基础笔记
- 扩展Python__在python脚本中使用其他语言(c/c++/java/c#)编写的模块
- 今天为大家整理了十张动图GIFS,有助于认识循环、递归、二分检索等概念的具体运行情况。代码实例以Python语言编写。
- Python语言文件基础--Python(18)
- python学习笔记(一)——python语言基础
- 简单实现查询号码归属地,基础python语言实现
- python语言程序设计基础-学习笔记(第一章 程序设计基本方法)
- 初学Python语言编程基础(二)
- 计算机语言学习基础——格式符(格式说明)(python)
- python语言程序设计基础课后习题答案
- 网络编程基础(Python语言实现)
- python自动化--语言基础线程、生产者消费者示例
- python机器学习及实战-Python基础综合实践
- Python 快速教程:基础语法及常用语言特性
- Python编写打字训练小程序
- 如何用Python语言编写源程序,读取Excel中数据,并画出柱状图?