自定义一个函数,用于计算矩形的面积和周长,函数包含两个参数:长和宽,由于正方形是特殊的矩形,因此也支持传递一个参数的情况。当传递一个参数时,表示长和宽相等,最后将计算结果进行返回。(同时支持一个参数和两个参数,同时返回多个值)
def AreaLength(*args):
length = 0
width = 0
if len(args) == 1:
length = args[0]
width = length
if len(args) == 2:
length = args[0]
width = args[1]
if not width:
width = length
return length * width, 2 * ( length + width)
print(AreaLength(10,5))
def cal(l, *w):
if len(w) == 0:
w = l
else:
w = w[0]
return l*w, 2*(l+w)
print(cal(3,4))
print(cal(4))
def getV(*edge):
if len(edge) == 1:
return edge[0] ** 2, 4 * edge[0]
else:
return edge[0] * edge[1], 2 * sum(edge)
res = getV(2, 5)
print(res)
res = getV(5)
print(res)
可以用类及方法来解:
>>> class Rectangle():
def __init__(self,a,b=0):
self.a = a
self.b = b if b!=0 else a
def Area(self):
return self.a*self.b
def Perimeter(self):
return (self.a+self.b)*2
>>> rectangle = Rectangle(3,4)
>>> print(rectangle.Area(),rectangle.Perimeter())
12 14
>>> rectangle = Rectangle(3)
>>> print(rectangle.Area(),rectangle.Perimeter())
9 12