#!/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实现的简单万年历例子分享相关推荐

  1. java 简单万年历_JAVA实现的简单万年历代码

    本文实例讲述了JAVA实现的简单万年历.分享给大家供大家参考,具体如下: import java.util.Scanner; public class PrintCalendar { public s ...

  2. 扩展Python模块系列(二)----一个简单的例子

    本节使用一个简单的例子引出Python C/C++ API的详细使用方法.针对的是CPython的解释器. 目标:创建一个Python内建模块test,提供一个功能函数distance, 计算空间中两 ...

  3. c语言大作业万年历,C语言实现简单万年历

    本文实例为大家分享了C语言实现简单万年历的具体代码,供大家参考,具体内容如下 #include #include int year, month; int run[12] = { 31,29,31,3 ...

  4. python实现日历功能_Python实现的简单万年历例子分享

    代码如下: #!/usr/bin/env python2 #-*- coding:utf-8 -*- __author__ = 'jalright' """ 使用pyth ...

  5. python万年历实验报告_Python实现的简单万年历例子分享

    #!/usr/bin/env python2 #-*- coding:utf-8 -*- __author__ = 'jalright' """ 使用python实现万年 ...

  6. 支持向量机python实例_Python机器学习SVM简单应用实例 | kTWO-个人博客

    1.前言 在上一篇理论性的文章中我们说过了,SVM是分线性可分和线性不可分两种情况的,线性可分的比较容易理解,比较容易一些,线性不可分的就稍微复杂一点了.我们测试就分别用线性可分和线性不可分两种情况分 ...

  7. python检查_python设置检查点简单实现

    说检查点,其实就是对过去历史的记录,可以认为是log.不过这里进行了简化.举例来说,我现在又一段文本.文本里放有一堆堆的链接地址.我现在的任务是下载那些地址 中的内容.另外因为网络的问题或者网站的问题 ...

  8. 猜数字游戏python程序_python实现的简单猜数字游戏

    本文实例讲述了python实现的简单猜数字游戏.分享给大家供大家参考.具体如下: 给定一个1-99之间的数,让用户猜数字,当用户猜错时会提示用户猜的数字是过大还是过小,知道用户猜对数字为止,猜对数字用 ...

  9. python不简单_Python学习并不简单!月薪过万也不易

    Python入门简单,精通不易 可以说,大部分编程语言都是入门简单,精通不易. 了解编程语言的基本语法很快,使用编程语言开发符合企业标准的项目很难.要想达到企业用人标准,需要花费非常多的时间去学习编程 ...

最新文章

  1. Python xrange与range的区别
  2. 导购提成怎么算_空调选购,别问“小白”问题,问导购这几个参数,才会显得内行...
  3. SQL Server的Execute As与连接池结合使用的测试
  4. linux主机名的修改
  5. PHP随机静态页面生成系统源码雨尘SEO系统
  6. 无人出价!贾跃亭所持2210万股乐视网股票首次拍卖流拍
  7. IIS 7.5 下PHP(FastCGI模式)配置手记
  8. Enterprise Suse运维
  9. sklearn 决策树无法处理类别特征
  10. 【优化选址】基于matlab遗传算法求解多城市多应急物流中心选址优化问题【含Matlab源码 H001期】
  11. oo结尾的单词发音规律
  12. Python网站服务器搭建,python 最快速搭建一个网站
  13. 创建新用户时的相关缺省设置
  14. 2个步骤,让人才成为组织进化的发动机
  15. matlab 地形图案例,matlab-画地形图
  16. 定制属于你的专属上网导航页,个性域名、个性皮肤,你说了算!
  17. asp.net将图片变成圆形
  18. VUE3模板,JSX,JSV
  19. Anker-一个研发工程师的电商梦
  20. 微信jssdk录音功能开发记录

热门文章

  1. 浅谈最小生成树的算法思路(一)Prim算法
  2. abap视图字段限制_在 Laravel 控制器中进行表单请求字段验证
  3. Effective Java之慎用可变参数(四十二)
  4. 1092 最好吃的月饼 (20分)_24行代码AC
  5. centos7.6查询不到网卡信息
  6. linux 标准输入句柄,标准文件描述符与标准文件句柄
  7. 虚拟机登陆别的服务器吗,云服务器只能用虚拟机登录吗
  8. mysql da_DA面板如何管理Mysql数据库?
  9. 无头结点单链表的逆置_第1章第2节练习题11 就地逆置单链表
  10. 多维列表索引_10分钟带你学会Pandas多层级索引