3 ms·
Here you go import math def Circle(x, y, r): return (lambda d : d['visitCircle'](x, y, r)) def Rectangle(x, y, w, h): return (lambda d
by h_anna_h 6y ago
Here you go
import math
def Circle(x, y, r):
return (lambda d : d['visitCircle'](x, y, r))
def Rectangle(x, y, w, h):
return (lambda d : d['visitRectangle'](x, y, w, h))
def area(shape):
return shape({
'visitCircle': lambda x, y, r : math.pi * r * r,
'visitRectangle': lambda x, y, w, h : w * h
})
exampleCircle = Circle(2, 1.4, 4.5)
exampleRectangle = Rectangle(1.3, 3.1, 10.3, 7.7)
print(area(exampleCircle))
print(area(exampleRectangle))
# 63.61725123519331
# 79.31