- 论坛徽章:
- 0
|
当时的想法是:
如果输入的数据非法,如month > 11,mothn < 0情况时,直接退出,后面的程序不再执行。
由于不知道什么语句可以代替exit,所以偷懒了
现在补上:
'''题目:输入某年某月某日,判断这一天是这一年的第几天?
1.程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊
情况,闰年且输入月份大于3时需考虑多加一天。
2.程序源代码:
'''
year = int(raw_input('year:\n'))
month = int(raw_input('month:\n'))
day = int(raw_input('day:\n'))
months = (0,31,59,90,120,151,181,212,243,273,304,334)
if 0 <= month <= 12:
sum = months[month - 1]
else:
print 'data error'
# 对年月做了判断,日只是加了上下限,没有根据月判断输入的是否合法
if year < 0 or month < 0 or month > 11 or day < 0 or day >31:
import os
os._exit(1)
sum += day
leap = 0
if (year % 400 == 0) or ((year % 4 == 0) and (year % 100 != 0)):
leap = 1
if (leap == 1) and (month > 2):
sum += 1
print 'it is the %dth day.' % sum
在else语句中添加
import os
os._exit(1)
谢谢指正,我在blog上更新一下。
[ 本帖最后由 jcodeer 于 2007-10-11 23:42 编辑 ] |
|