2016-09-23 71 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

相關問題