你可以说我是一个极端的新手,我在学校有一门课程,我需要能够,某种程度上,用python解决问题。到目前为止,所有这些都是有效的,但最后一个(只是一小部分)不会让步。你知道吗
前4个函数运行良好(每个函数有2个参数,一个生日(bday)和一个随机日期(today))。它们确定随机日期是否为生日/未出生日/百日/同一天,如果是,则分别返回True或False。每个函数的第一行如下所示,脚本的其余部分无关紧要。你知道吗
def birthday(bday, today):
def unbirthday(bday, today):
def hundredday(bday, today):
def sameweekday(bday, today):
再说一遍,这些很好用。你知道吗
最后一个函数必须返回所有日期,在某个开始日期和结束日期之间,上面的生日变体中的哪一个匹配。第一个参数也是bday,下一个参数是start(默认为bday,这是混蛋),第三个参数是end(默认为今天),第四个参数是birthday(默认为实际生日)。你知道吗
def birthdays(bday, start=bday, end=date.today(), birthday=birthday):
它的start=bday不起作用,表示这个bday没有定义。剧本的其余部分无关紧要,因为我还没完成。你知道吗
(我在脚本的开头导入datetime,所有第一个函数都可以使用它的工具正常工作)
一种解决方案是默认的start=None,然后在函数体中:
这应该会给你想要的行为。你知道吗
在创建变量之前,不能读取变量:
上面的函数参数只是变量名定义。”此时插入函数调用的数据块将被命名为
bday
”。它们不作为可读变量存在于函数签名中,只存在于函数体本身中。所以你上面的#2试图从一个不存在的变量中读取数据。你知道吗相关问题 更多 >
编程相关推荐