题目:
输入一个日期,然后输出该日期是一年中的第几天
代码如下:
nowday = input("Input a data as 2012-12-23:\n")#输入日期,并限定规范,此程序只执行一次,不加入纠错和循环内容,实际应用应考虑输入日期的标准性和规范性,以便进行纠错,防止程序意外中断
nowday = nowday.split("-")#将日期进行处理,用-进行年月日分解
monthday = [31,28,31,30,31,30,31,31,30,31,30,31]#一般情况下一年每个月份应该有的天数数组,该方式比较直观,需要升级难度可以考虑正常的判断形势
year = int(nowday[0])#年月日一次转换数据类型,方便计算
month = int(nowday[1])
day = int(nowday[2])
sumday = 0#初始化总天数
for i in range(month-1):#循环增加小于计算月份以外的天数
sumday += monthday[i]
sumday+=day#加上计算月份的天数
if (year%4==0 and year%100!=0) and month>2:#判断是否为闰年以及是否需要加上闰月
sumday +=1
print(nowday[0]+"-"+nowday[1]+"-"+nowday[2]+"是这一年的第"+str(sumday)+"天")#输出天数