编程思路:
1,输入
2,判断输入日期的月份是哪一个月,并取到当前月开始有多少天数,即当年当前月前面的所有天数。
3,以上一步的天数为基础加上输入的天数。
4,判断当年是否为闰年,是闰年就在统计天数的变量上加一。
5,输出
python代码
#输入函数
def date_input():
#将year,month,day定义为全局变量
global year,month,day
year,month,day = eval(input("year,month,day:"))
#判断函数
def pro(year,month,day):
# 定义初始变量
global sum
sum=0
months = (0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334)
# 判断输入的月份、天数是否合规
if 0 < month <= 12 and 0 < day <= 31:
#取输入月份的前一个月
sum = months[month - 1]
else:
print('data error')
#通过之前判断的月份前一个月的基础上加上天数
sum += day
#判断是否是闰年,是润年并且月份大于2,sum的值就i加上1(需要注意优先级not,and,or高到低)
if ((year % 400 == 0) or ((year % 4 == 0) and (year % 100 != 0))) and month > 2:
sum += 1
#输出函数
def day_output():
#格式化输出
print("{}-{}-{}是{}年的第{}天".format(year,month,day,year,sum))
date_input()
pro(year,month,day)
day_output()
测试结果
year,month,day:2023,3,8
2023-3-8是2023年的第67天