方法一:
"""
3、输入某年某月某日,判断这一天是这一年的第几天
"""
year = int(input("请输入年分:"))
month = int(input("请输入月份:"))
day = int(input("请输入日:"))
count = 0
if month == 1:
count = day
elif month == 2:
count = 31 + day
elif month == 3 and ((year % 4 == 0 and year % 100 != 0) or (year % 400 == 0)):
if month == 3:
count = 31 + 29 + day
if month == 4:
count = 31 + 29 + 31 + day
if month == 5:
count = 31 + 29 + 31 + 30 + day
if month == 6:
count = 31 + 29 + 31 + 30 + 31 + day
if month == 7:
count = 31 + 29 + 31 + 30 + 31 + 30 + day
if month == 8:
count = 31 + 29 + 31 + 30 + 31 + 30 + 31 + day
if month == 9:
count = 31 + 29 + 31 + 30 + 31 + 30 + 31 + 31 + day
if month == 10:
count = 31 + 29 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + day
if month == 11:
count = 31 + 29 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + day
if month == 12:
count = 31 + 29 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + 30 + day
else:
if month == 3:
count = 31 + 28 + day
if month == 4:
count = 31 + 28 + 31 + day
if month == 5:
count = 31 + 28 + 31 + 30 + day
if month == 6:
count = 31 + 28 + 31 + 30 + 31 + day
if month == 7:
count = 31 + 28 + 31 + 30 + 31 + 30 + day
if month == 8:
count = 31 + 28 + 31 + 30 + 31 + 30 + 31 + day
if month == 9:
count = 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + day
if month == 10:
count = 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + day
if month == 11:
count = 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + day
if month == 12:
count = 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + 30 + day
print("公共%d天" % count)
方法二:
print("-" * 20)
import datetime
result = datetime.datetime(year, month, day)
# 用来格式化时间,%j 用来表示天数
print(result.strftime("%j"))
方法三:
"""
3、输入某年某月某日,判断这一天是这一年的第几天
"""
year = int(input("请输入年分:"))
month = int(input("请输入月份:"))
day = int(input("请输入日:"))
print("-" * 20)
day += (month-1) * 30 # 计算出month前的天数,按照每月30计算
if month < 9: # 计算1、3、5、7月,每月的多出来的一天,也就是存在31天
day += month//2
else: # 大于等于9月后,需要计算1、3、5、7、8、10、12月的多出来的一天,所有在取模的时候对month+1,之所以判断 month<9,由于7和8月连,对于后面的月份+1
day += (month+1)//2
if month > 2: # 计算闰年中,2月份的天数存在不足30天的日期
if year%400 ==0 or year%4 == 0 and year%100 !=0 :
day -= 1
else:
day -= 2
print("是一年的第%d天"%day)