问题描述:
运行代码:
def is_leap_year():
"""
判断指定的年份是不是闰年
:param year: 年份
:return: 闰年返回True平年返回False
"""
return year % 4 == 0 and year % 100 != 0 or year % 400 ==0
def which_day(year, month, date):
days_of_month = [
[31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31],
[31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
][is_leap_year(year)]
total = 0
for index in range(month - 1):
total += days_of_month[index]
return total + date
def main():
print(which_day(1991, 12, 11))
print(which_day(1994, 9, 6))
if __name__ == '__main__':
main()
计算指定的年月日是这一年当中的第几天,
提示如下错误:
TypeError: is_leap_year() takes 0 positional arguments but 1 was given
问题分析:
报错的意思是:is_leap_year()这个函数不需要参数,但是函数却被传递了一个参数。
掉头检查代码,会发现:
def is_leap_year():
这里出了问题,我们对其进行修改:
def is_leap_year(year):
再次运行代码,成功~