这个是可以作业,最好能自己独立完成。以下实现方式可以作为参考
"""
作者: Robin_TY
功能: 判断某日期是第几天
日期: 19/01/2018
"""
import datetime
def main():
"""
主函数
"""
input_date_str = input('请输入日期(yyyy/mm/dd):')
input_date = datetime.datetime.strptime(input_date_str, format('%Y/%m/%d'))
year = input_date.year
month = input_date.month
day = input_date.day
day_month_dict = {28: [2], # 28天的月份
30: [4, 6, 9, 11], # 30天的月份
31: [1, 3, 5, 7, 8, 10, 12]} # 31天的月份
days = 0
for i in range(1, month):
for day_key, month_list in day_month_dict.items():
if i in month_list:
# 如果当前月在列表中
days += day_key
days += day
is_leap_year = False
if (year % 400 == 0) or ((year % 4 == 0) and (year % 100 != 0)):
is_leap_year = True
if is_leap_year and month > 2:
days += 1
print('这是第{}天。'.format(days))
if __name__ == '__main__':
main()