求定义和调用函数month_day ( year, yeardy, *pmonth, *pday),通过参数pmonth和pday返回计算得出的月和日。
时间: 2024-04-30 08:23:22 浏览: 106
通过指针实现函数调用返回多个值-指针以及高级使用
函数month_day的定义如下:
```python
def month_day(year, yearday, *pmonth, *pday):
"""
计算给定年份的第几天对应的月和日
:param year: 年份
:param yearday: 给定年份的第几天
:param pmonth: 返回计算得出的月份
:param pday: 返回计算得出的日
"""
days_per_month = [0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31] # 每个月的天数
if year % 4 == 0 and (year % 100 != 0 or year % 400 == 0): # 闰年2月份有29天
days_per_month[2] = 29
month = 1
while yearday > days_per_month[month]:
yearday -= days_per_month[month]
month += 1
*pmonth, = month
*pday, = yearday
```
函数的调用可以这样写:
```python
month_day(2021, 150, pmonth, pday)
print("2021年的第150天对应的日期是:%d月%d日" % (pmonth, pday))
```
其中,变量`pmonth`和`pday`是通过参数传递进来的,函数内部通过`*pmonth`和`*pday`语法将参数打包成元组,最终返回元组中的值即可。
阅读全文