2016-09-23 79 views
0

我想构建一个代码,给出一个正方形的区域和一个矩形的区域具有相同的功能,但我要么跑到缺少的位置参数错误或更奇特的东西与我做的任何事情,我被惊讶的潜力因为我只是python编码器的一个非常基本的级别。如何处理函数中不同数量的参数?

最大的问题是area()函数应该是什么样的格式,以便我能够假设y没有给出就是None。

def area(x, y): 
    return x * x if y is None else x * y #Calculate area for square and rectangle 


def main(): 
    print("Square's area is {:.1f}".format(area(3))) #Square 
    print("Rectangle's area is {:.1f}".format(area(4, 3))) #Rectangle 

main() 

回答

1

做它像这样:

def area(x, y=None): 
    return x * x if y is None else x * y #Calculate area for square and rectangle 

通过给一个默认值,你可以通过少1个参数,它将被设置为默认值。

+0

非常感谢,就是这样。 – Grak

相关问题