条件语句比方说,我有一个不接受3个可选参数的函数:的Python:可选功能参数
def function(arg1=0, arg2=0, arg3=0)
什么是处理功能,这取决于参数传递中条件句最彻底的方法?
现在我只有:
def function(arg1=0, arg2=0, arg3=0)
if arg1 !=0 and arg2 !=0 and arg3 != 0:
# do stuff with all three args
elif arg1 !=0 and arg2 != 0:
# do stuff with arg1 and arg2, etc...
为了扩大在此,如果我的功能,可以采取什么样的5个参数?为所有可能的组合做条件似乎是一种阻力。我可以不做别的检查哪些参数已经传递给函数吗?
更新: 基于一些反馈,我想我只是在实际解释我在做什么。我需要根据他们什么时候从学校毕业(高中,大学,研究生课程等)来估计某人的年龄。我可以有多个年去了,其实我可以有多个年各高中,大学的,等
所以,一个例子是:
def approx_age(highSchool=0, college=0):
this_year = date.today().year
if (highSchool != 0) and (college != 0):
hs_age = (this_year - highSchool) + 18
college_age = (this_year - college) + 21
age_diff = abs(hs_age - college_age)
if age_diff == 0:
return hs_age
elif return (hs_age + college_age)/2
elif highSchool != 0:
hs_age = (this_year - highSchool) + 18
return hs_age
elif college != 0:
college_age = (this_year - college) + 21
return college_age
事情只打算获得从这里更加复杂......
您有所有可能的组合,或参数只是数量条件通过呢? – Marcin 2014-12-02 07:11:33
在大多数情况下,'arg!= 0'等于'if arg',实际上。 – favoretti 2014-12-02 07:12:22
如果第一个'if'子句为真,则第二个'if'子句将为真。你想要那个吗? – Sriram 2014-12-02 07:18:39