设为首页收藏本站

Crossin的编程教室

 找回密码
 立即加入
查看: 5342|回复: 4
打印 上一主题 下一主题

题目:输入某年某月某日,判断这一天是这一年的第几天?

[复制链接]

2

主题

0

好友

59

积分

注册会员

Rank: 2

跳转到指定楼层
楼主
发表于 2016-2-6 14:51:29 |只看该作者 |倒序浏览
@cross先生

下面程序中“if 0 <= month <= 12:”应该不对吧,0应该不包含,对吧

程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊       情况,闰年且输入月份大于3时需考虑多加一天:
程序源代码:
  1. #!/usr/bin/python
  2. # -*- coding: UTF-8 -*-

  3. year = int(raw_input('year:\n'))
  4. month = int(raw_input('month:\n'))
  5. day = int(raw_input('day:\n'))

  6. months = (0,31,59,90,120,151,181,212,243,273,304,334)
  7. if 0 <= month <= 12:
  8.     sum = months[month - 1]
  9. else:
  10.     print 'data error'
  11. sum += day
  12. leap = 0
  13. if (year % 400 == 0) or ((year % 4 == 0) and (year % 100 != 0)):
  14.     leap = 1
  15. if (leap == 1) and (month > 2):
  16.     sum += 1
  17. print 'it is the %dth day.' % sum
复制代码
这里的python100题挺不错的
http://www.2cto.com/kf/web/python/sl/


回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

沙发
发表于 2016-2-7 15:45:11 |只看该作者
是的
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

0

主题

0

好友

12

积分

新手上路

Rank: 1

板凳
发表于 2016-3-14 16:01:44 |只看该作者
  1. import time,datetime
  2. # 2016-03-14
  3. months = (1,3,5,7,8,10,12)
  4. date = raw_input('请输入要查询的日期("最好以'+'"-"'+'分割"):')
  5. stime = time.time()
  6. datetime1 = datetime.datetime.strptime(date,'%Y-%m-%d')
  7. try:
  8.     year = datetime1.year
  9.     month = datetime1.month
  10.     day = datetime1.day
  11.     if year % 4 == 0 and year % 100 != 0 or year % 400 == 0:
  12.         print 'the day is %d 天'%(months.index(month) * 31 + (month > 2 and 29 + (month - months.index(month) - 2) * 30 or 0) + day)
  13.         etime = time.time()
  14.         print '代码处理用时:%f'%(etime-stime)
  15.     else:
  16.         print 'the day is %d 天'%(months.index(month) * 31 + (month > 2 and 28 + (month - months.index(month) - 2) * 30 or 0) + day)
  17.         etime = time.time()
  18.         print '代码处理用时:%f' %(etime-stime)
  19. except:
  20.     print '请按照正确的时间格式输入'
复制代码
回复

使用道具 举报

0

主题

0

好友

12

积分

新手上路

Rank: 1

地板
发表于 2016-3-14 16:03:07 |只看该作者
总感觉我的哪儿不对
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

5#
发表于 2016-3-14 21:41:14 |只看该作者
ly_911004 发表于 2016-3-14 16:03
总感觉我的哪儿不对

测试跑一下就知道对不对了
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即加入

QQ|手机版|Archiver|Crossin的编程教室 ( 苏ICP备15063769号  

GMT+8, 2024-5-21 22:52 , Processed in 0.027252 second(s), 23 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部