輸入某年某月某日,判斷這一天是這一年的第幾天?
def isLeapYear(y):
return (y%400==0 or (y%4==0 and y%100!=0))
DofM=[0,31,28,31,30,31,30,31,31,30,31,30]
res=0
year=int(input('Year:'))
month=int(input('Month:'))
day=int(input('day:'))
if isLeapYear(year):
DofM[2]+=1
for i in range(month):
res+=DofM[i]
print(res+day)
year = int(input('year:'))
month = int(input('month:'))
day = int(input('day:'))
months = (0,31,59,90,120,151,181,212,243,273,304,334)
# [1]31,[2]28,[3]31,[4]30,[5]31,[6]30,[7]31,8[31],9[30],[10]31,11[30],12[31]
# 0 , 31 , 59 , 90 , 120 , 151 , 181 , 212 , 243, 273, 304 , 334
if 0 < month <= 12:
sum = months[month - 1]
else:
print ('data error')
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)
>>> %Run -c $EDITOR_CONTENT
Year:2023
Month:3
day:24
83
year:2023
month:3
day:24
it is the 83th day.
>>>
利用chatGPT解
利用 python 解出 输入某年某月某日,判断这一天是这一年的第几天?
可以使用 Python 的 datetime 模块来解决这个问题。具体来说,可以将输入的年、月、日作为参数传递给 datetime.date() 函数,然后使用 date.toordinal() 函数将日期转换为自公元1年1月1日以来的天数,再用当前日期与该年1月1日的日期差计算出该天是该年的第几天。
以下是代码实现:
以下是代码实现:
pythonimport datetime
year = int(input("请输入年份:"))
month = int(input("请输入月份:"))
day = int(input("请输入日期:"))
date1 = datetime.date(year, 1, 1) # 该年1月1日的日期
date2 = datetime.date(year, month, day) # 输入的日期
days = (date2 - date1).days + 1 # 日期差加1,即为该天是该年的第几天
print("%d年%d月%d日是第%d天" % (year, month, day, days))
以输入日期为2023年3月25日为例,输出结果为:
yaml请输入年份:2023
请输入月份:3
请输入日期:25
2023年3月25日是第84天
因此,2023年3月25日是第84天。