python万年历_Python实现的简单万年历例子分享
#!/usr/bin/env python2
#-*- coding:utf-8 -*-
__author__ = 'jalright'
"""
使用python实现万年历
"""
def is_leap_year(year):
"""
判断是否是闰年,返回boolean值
"""
if year/4==0 and year/400 !=0:
return True
elif year/100 == 0 and year/400 ==0 :
return True
else:
return False
def getMonthDays(year,month):
"""
获取指定年月的月份有多少天
"""
days = 31 #31天居多,设置为默认值
if month == 2 : #2月份要判断是否是闰年
if is_leap_year(year):
days=29
else:
days=28;
elif month in [4,6,9,11]: #判断小月,只有30天
days=30
return days
def getTotalDays(year,month):
"""
获取1990-01-01离现在有多少天,1990-01-01是星期一,以这个为标准来判断星期
"""
totalDays=0
for i in range(1990,year): #使用range来循环,算出多少年多少天
if is_leap_year(i): #判断是否是闰年
totalDays += 366
else:
totalDays += 365
for i in range(1,month): #使用range循环,算出今年前面几个月过了多少天
totalDays +=getMonthDays(year,i)
return totalDays
if __name__ == '__main__':
while True: #循环判断是否输入错误的格式
print "××××××××××python实现万年历××××××××"
year = raw_input("请输入年份(如:1990):")
month = raw_input("请输入月份:如:1")
try: #捕捉输入异常格式和月份的正确
year = int(year)
month = int(month)
if month <1 or month >1: #判断月份是否输入错误,错误就重新开始循环
print "年份或者月份输入错误,请重新输入!"
continue
except: #捕捉到转换成整型异常,输出提示,重新开始循环
print "年份或者月份输入错误,请重新输入!"
continue
break #如果没有异常就跳出循环
#if is_leap_year(year):
# print "%s是润年"%year
#else:
# print "%s是平年"%year
#print "%s月份总共有%s天!"%(month,getMonthDays(year,month))
print "日\t一\t二\t三\t四\t五\t六"
iCount = 0 #计数器来判断是否换行
for i in range(getTotalDays(year,month)%7):
print '\t', #输出空不换行
iCount+=1
for i in range(1,getMonthDays(year,month)):
print i,
print '\t',
iCount +=1
if iCount%7 == 0 : #计数器取余为0,换行
print ''
python万年历_Python实现的简单万年历例子分享相关推荐
- java 简单万年历_JAVA实现的简单万年历代码
本文实例讲述了JAVA实现的简单万年历.分享给大家供大家参考,具体如下: import java.util.Scanner; public class PrintCalendar { public s ...
- 扩展Python模块系列(二)----一个简单的例子
本节使用一个简单的例子引出Python C/C++ API的详细使用方法.针对的是CPython的解释器. 目标:创建一个Python内建模块test,提供一个功能函数distance, 计算空间中两 ...
- c语言大作业万年历,C语言实现简单万年历
本文实例为大家分享了C语言实现简单万年历的具体代码,供大家参考,具体内容如下 #include #include int year, month; int run[12] = { 31,29,31,3 ...
- python实现日历功能_Python实现的简单万年历例子分享
代码如下: #!/usr/bin/env python2 #-*- coding:utf-8 -*- __author__ = 'jalright' """ 使用pyth ...
- python万年历实验报告_Python实现的简单万年历例子分享
#!/usr/bin/env python2 #-*- coding:utf-8 -*- __author__ = 'jalright' """ 使用python实现万年 ...
- 支持向量机python实例_Python机器学习SVM简单应用实例 | kTWO-个人博客
1.前言 在上一篇理论性的文章中我们说过了,SVM是分线性可分和线性不可分两种情况的,线性可分的比较容易理解,比较容易一些,线性不可分的就稍微复杂一点了.我们测试就分别用线性可分和线性不可分两种情况分 ...
- python检查_python设置检查点简单实现
说检查点,其实就是对过去历史的记录,可以认为是log.不过这里进行了简化.举例来说,我现在又一段文本.文本里放有一堆堆的链接地址.我现在的任务是下载那些地址 中的内容.另外因为网络的问题或者网站的问题 ...
- 猜数字游戏python程序_python实现的简单猜数字游戏
本文实例讲述了python实现的简单猜数字游戏.分享给大家供大家参考.具体如下: 给定一个1-99之间的数,让用户猜数字,当用户猜错时会提示用户猜的数字是过大还是过小,知道用户猜对数字为止,猜对数字用 ...
- python不简单_Python学习并不简单!月薪过万也不易
Python入门简单,精通不易 可以说,大部分编程语言都是入门简单,精通不易. 了解编程语言的基本语法很快,使用编程语言开发符合企业标准的项目很难.要想达到企业用人标准,需要花费非常多的时间去学习编程 ...
最新文章
- Python xrange与range的区别
- 导购提成怎么算_空调选购,别问“小白”问题,问导购这几个参数,才会显得内行...
- SQL Server的Execute As与连接池结合使用的测试
- linux主机名的修改
- PHP随机静态页面生成系统源码雨尘SEO系统
- 无人出价!贾跃亭所持2210万股乐视网股票首次拍卖流拍
- IIS 7.5 下PHP(FastCGI模式)配置手记
- Enterprise Suse运维
- sklearn 决策树无法处理类别特征
- 【优化选址】基于matlab遗传算法求解多城市多应急物流中心选址优化问题【含Matlab源码 H001期】
- oo结尾的单词发音规律
- Python网站服务器搭建,python 最快速搭建一个网站
- 创建新用户时的相关缺省设置
- 2个步骤,让人才成为组织进化的发动机
- matlab 地形图案例,matlab-画地形图
- 定制属于你的专属上网导航页,个性域名、个性皮肤,你说了算!
- asp.net将图片变成圆形
- VUE3模板,JSX,JSV
- Anker-一个研发工程师的电商梦
- 微信jssdk录音功能开发记录
热门文章
- 浅谈最小生成树的算法思路(一)Prim算法
- abap视图字段限制_在 Laravel 控制器中进行表单请求字段验证
- Effective Java之慎用可变参数(四十二)
- 1092 最好吃的月饼 (20分)_24行代码AC
- centos7.6查询不到网卡信息
- linux 标准输入句柄,标准文件描述符与标准文件句柄
- 虚拟机登陆别的服务器吗,云服务器只能用虚拟机登录吗
- mysql da_DA面板如何管理Mysql数据库?
- 无头结点单链表的逆置_第1章第2节练习题11 就地逆置单链表
- 多维列表索引_10分钟带你学会Pandas多层级索引