@@ -186,6 +186,30 @@ def area_circle(radius: float) -> float:
186
186
return pi * radius ** 2
187
187
188
188
189
+ def area_rhombus (diagonal_1 : float , diagonal_2 : float ) -> float :
190
+ """
191
+ Calculate the area of a rhombus
192
+
193
+ >>> area_rhombus(10, 20)
194
+ 100.0
195
+ >>> area_rhombus(-1, -2)
196
+ Traceback (most recent call last):
197
+ ...
198
+ ValueError: area_rhombus() only accepts non-negative values
199
+ >>> area_rhombus(1, -2)
200
+ Traceback (most recent call last):
201
+ ...
202
+ ValueError: area_rhombus() only accepts non-negative values
203
+ >>> area_rhombus(-1, 2)
204
+ Traceback (most recent call last):
205
+ ...
206
+ ValueError: area_rhombus() only accepts non-negative values
207
+ """
208
+ if diagonal_1 < 0 or diagonal_2 < 0 :
209
+ raise ValueError ("area_rhombus() only accepts non-negative values" )
210
+ return 1 / 2 * diagonal_1 * diagonal_2
211
+
212
+
189
213
def main ():
190
214
print ("Areas of various geometric shapes: \n " )
191
215
print (f"Rectangle: { area_rectangle (10 , 20 )} " )
@@ -197,6 +221,7 @@ def main():
197
221
print ("\n Surface Areas of various geometric shapes: \n " )
198
222
print (f"Cube: { surface_area_cube (20 )} " )
199
223
print (f"Sphere: { surface_area_sphere (20 )} " )
224
+ print (f"Rhombus: { area_rhombus (10 , 20 )} " )
200
225
201
226
202
227
if __name__ == "__main__" :
0 commit comments