输入某年某月某日,判断这一天是这一年的第几天? 程序分析:以2020年3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊情况,2020年是闰年且输入月份大于2时需考虑多加一天: - time_date = input("请按’19110101‘格式,输入年月日:")
- year,month,day = int(time_date[:4]),int(time_date[4:6]),int(time_date[6:8]) #将输入的数字拆分
-
- month_set = [31,28,31,30,31,30,31,31,30,31,30,31] #12个月的天数
-
- if 0 < month < 12 and 0 < day < 32: #判断月日输入的正确与否
- print('你输入的日期格式正确')
- else:
- print('你输入的日期格式不正确,请重新输入')
-
- if (year % 400 == 0) or (year % 4 == 0) and (year % 100 != 0) and (month > 2): #判断是否为闰年且输入月份是否大于2
- d_sum = 1
- else:
- d_sum = 0
-
- i = 0
- for i in range(month - 1): #遍历完整月份天数
- if i < (month - 1):
- d_sum += month_set[i] #将完整月份天数求和
- i += 1
-
- d_sum += day #完整月份天数求和后,在加上day
-
复制代码
|