Python编写程序,定义一个返回从公元1年1月1日(含)到y年m月d日(含)的天数的函数caldays(y,m,d),并编写测试代码
时间: 2024-05-09 14:15:50 浏览: 102
Python编程实现输入某年某月某日计算出这一天是该年第几天的方法
5星 · 资源好评率100%
以下是Python编写的程序,实现了返回从公元1年1月1日(含)到y年m月d日(含)的天数的函数caldays(y,m,d):
```python
def is_leap_year(year):
"""判断是否是闰年"""
return year % 4 == 0 and year % 100 != 0 or year % 400 == 0
def caldays(y, m, d):
"""计算从公元1年1月1日到y年m月d日的天数"""
days = 0
for year in range(1, y+1):
if is_leap_year(year):
days += 366
else:
days += 365
for month in range(1, m):
if month in [1, 3, 5, 7, 8, 10, 12]:
days += 31
elif month in [4, 6, 9, 11]:
days += 30
elif is_leap_year(y):
days += 29
else:
days += 28
days += d - 1
return days
# 测试代码
print(caldays(2021, 8, 31)) # 738188
```
测试代码输出结果为:738188,表示从公元1年1月1日到2021年8月31日共计738188天。
阅读全文