鱼C论坛

 找回密码
 立即注册
查看: 1797|回复: 0

[技术交流] 刚学python 望指点一二

[复制链接]
发表于 2017-1-18 21:30:23 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
  1. #coding = utf-8
  2. #求任意输入日期是星期几

  3. year = int(input("year:"))
  4. month = int(input("month:"))
  5. day = int(input("day:"))

  6. #检查年份范围为1900到2100
  7. checkinput = True
  8. if year < 1900 or year > 2100:
  9.     print("year must in 1900-2100")
  10.     checkinput=False
  11. #检查月份为1到12
  12. if month<1 or month>12:
  13.     print("month must in 1-12")
  14.     checkinput = False
  15. #检查日期,根据月和年进行判断
  16. #先根据月份取得该月的日期最大值
  17. maxday = 31
  18. if month == 2:
  19.     #判断是否为闰年
  20.     maxday = 28
  21.     if year%4==0 and not (year%100==0 and year%400!=0):
  22.         maxday = 29
  23. elif month == 4 or month == 6 or month ==9 or month == 11:
  24.     maxday = 30
  25. #检查日期范围为1到maxday
  26. if month<1 or month > maxday:
  27.     print("day must in 1-",maxday)
  28.     checkinput = False

  29. #只有所有检测是通过,才进行处理
  30. if checkinput:

  31.     #从1980年开始循环,计算到输入日期之间间隔多少天
  32.     #累计日期总数
  33.     daycount = 0
  34.     #年份
  35.     theyear = 1900
  36.     #月份
  37.     themonth = 1
  38.     #日期
  39.     theday = 1
  40.     #年份循环
  41.     while theyear<year:
  42.         adddays = 365
  43.         #如果是闰年咋加366天
  44.         if theyear%4==0 and not(theyear%100==0 and theyear%400!=0):
  45.             adddays = 366
  46.         daycount += adddays
  47.         #年份加1
  48.         theyear+=1

  49.     #年份循环到输入的年
  50.     #月份循环
  51.     while themonth < month:
  52.         adddays = 31
  53.         if themonth == 2:
  54.             #判断是否为闰年
  55.             adddays = 28
  56.             if year%4==0 and not (year%100==0 and year%400!=0):
  57.                 adddays = 29
  58.         elif themonth == 4 or themonth==6 or themonth==9 or themonth==11:
  59.             adddays=30
  60.         #日期累加31天或者28天或者30天
  61.         daycount+=adddays
  62.         #月份加1
  63.         themonth+=1

  64.     #年份和月份循环到输入的年和月
  65.     #日期相差
  66.     adddays=day-theday
  67.     #累计相差总天数
  68.     daycount+=adddays
  69.     print("daycount:",daycount)


  70.     #根据累计相差总天数加上偏移量,对7求余,然后加1
  71.     #1980年1月1日是星期一,偏移量为0
  72.     week = (daycount + 0) % 7 + 1
  73.     print("week",week)
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-20 18:34

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表