输入一行,空格分割,分别是年、月、日(年份为4位数且日期合法)
输出是这一年的第几天。
- 用split()函数分割输入,分割得到的列表第一个元素为年份,第二个为月份,第三个为天数
- 将1月到12月的天数放到一个列表中(平年的2月是28天)。通过输入的年份是否被4和100整除,判断输入的年份是不是闰年(年份是4的倍数的,一般是闰年如2004年就是闰年;年份是整百数的,必须是400的倍数才是闰年,如1900年不是闰年,2000年是闰年)。如果是闰年需要将列表里2月的天数改为29
- 用for循环,将列表里1月的31天向后加每个月的天数加到输入月份的上一个月;再加上输入的天数,得到这是这一年的第几天
n=input().split()
key=[1,2,3,4,5,6,7,8,9,10,11,12]
value=[31,28,31,30,31,30,31,31,30,31,30,31]
if int(n[0]) % 4 == 0 and int(n[0]) % 100 != 0:
value[1]=29
if int(n[0]) % 400 ==0:
value[1]=29
month=int(n[1])-1
day=int(n[2])
a=0
for i in range(month):
a=a+value[i]
print(a+day)
注:写完才发现key没用上。。如果输入的月份不合法可能会用上。