@@ -12,7 +12,13 @@ def surface_area_cube(side_length: float) -> float:
12
12
6
13
13
>>> surface_area_cube(3)
14
14
54
15
+ >>> surface_area_cube(-1)
16
+ Traceback (most recent call last):
17
+ ...
18
+ ValueError: surface_area_cube() only accepts non-negative values
15
19
"""
20
+ if side_length < 0 :
21
+ raise ValueError ("surface_area_cube() only accepts non-negative values" )
16
22
return 6 * side_length ** 2
17
23
18
24
@@ -26,17 +32,37 @@ def surface_area_sphere(radius: float) -> float:
26
32
314.1592653589793
27
33
>>> surface_area_sphere(1)
28
34
12.566370614359172
35
+ >>> surface_area_sphere(-1)
36
+ Traceback (most recent call last):
37
+ ...
38
+ ValueError: surface_area_sphere() only accepts non-negative values
29
39
"""
40
+ if radius < 0 :
41
+ raise ValueError ("surface_area_sphere() only accepts non-negative values" )
30
42
return 4 * pi * radius ** 2
31
43
32
44
33
45
def area_rectangle (length : float , width : float ) -> float :
34
46
"""
35
47
Calculate the area of a rectangle
36
48
37
- >>> area_rectangle(10,20)
49
+ >>> area_rectangle(10, 20)
38
50
200
39
- """
51
+ >>> area_rectangle(-1, -2)
52
+ Traceback (most recent call last):
53
+ ...
54
+ ValueError: area_rectangle() only accepts non-negative values
55
+ >>> area_rectangle(1, -2)
56
+ Traceback (most recent call last):
57
+ ...
58
+ ValueError: area_rectangle() only accepts non-negative values
59
+ >>> area_rectangle(-1, 2)
60
+ Traceback (most recent call last):
61
+ ...
62
+ ValueError: area_rectangle() only accepts non-negative values
63
+ """
64
+ if length < 0 or width < 0 :
65
+ raise ValueError ("area_rectangle() only accepts non-negative values" )
40
66
return length * width
41
67
42
68
@@ -46,37 +72,101 @@ def area_square(side_length: float) -> float:
46
72
47
73
>>> area_square(10)
48
74
100
75
+ >>> area_square(-1)
76
+ Traceback (most recent call last):
77
+ ...
78
+ ValueError: area_square() only accepts non-negative values
49
79
"""
80
+ if side_length < 0 :
81
+ raise ValueError ("area_square() only accepts non-negative values" )
50
82
return side_length ** 2
51
83
52
84
53
85
def area_triangle (base : float , height : float ) -> float :
54
86
"""
55
87
Calculate the area of a triangle
56
88
57
- >>> area_triangle(10,10)
89
+ >>> area_triangle(10, 10)
58
90
50.0
59
- """
91
+ >>> area_triangle(-1, -2)
92
+ Traceback (most recent call last):
93
+ ...
94
+ ValueError: area_triangle() only accepts non-negative values
95
+ >>> area_triangle(1, -2)
96
+ Traceback (most recent call last):
97
+ ...
98
+ ValueError: area_triangle() only accepts non-negative values
99
+ >>> area_triangle(-1, 2)
100
+ Traceback (most recent call last):
101
+ ...
102
+ ValueError: area_triangle() only accepts non-negative values
103
+ """
104
+ if base < 0 or height < 0 :
105
+ raise ValueError ("area_triangle() only accepts non-negative values" )
60
106
return (base * height ) / 2
61
107
62
108
63
109
def area_parallelogram (base : float , height : float ) -> float :
64
110
"""
65
111
Calculate the area of a parallelogram
66
112
67
- >>> area_parallelogram(10,20)
113
+ >>> area_parallelogram(10, 20)
68
114
200
69
- """
115
+ >>> area_parallelogram(-1, -2)
116
+ Traceback (most recent call last):
117
+ ...
118
+ ValueError: area_parallelogram() only accepts non-negative values
119
+ >>> area_parallelogram(1, -2)
120
+ Traceback (most recent call last):
121
+ ...
122
+ ValueError: area_parallelogram() only accepts non-negative values
123
+ >>> area_parallelogram(-1, 2)
124
+ Traceback (most recent call last):
125
+ ...
126
+ ValueError: area_parallelogram() only accepts non-negative values
127
+ """
128
+ if base < 0 or height < 0 :
129
+ raise ValueError ("area_parallelogram() only accepts non-negative values" )
70
130
return base * height
71
131
72
132
73
133
def area_trapezium (base1 : float , base2 : float , height : float ) -> float :
74
134
"""
75
135
Calculate the area of a trapezium
76
136
77
- >>> area_trapezium(10,20,30)
137
+ >>> area_trapezium(10, 20, 30)
78
138
450.0
79
- """
139
+ >>> area_trapezium(-1, -2, -3)
140
+ Traceback (most recent call last):
141
+ ...
142
+ ValueError: area_trapezium() only accepts non-negative values
143
+ >>> area_trapezium(-1, 2, 3)
144
+ Traceback (most recent call last):
145
+ ...
146
+ ValueError: area_trapezium() only accepts non-negative values
147
+ >>> area_trapezium(1, -2, 3)
148
+ Traceback (most recent call last):
149
+ ...
150
+ ValueError: area_trapezium() only accepts non-negative values
151
+ >>> area_trapezium(1, 2, -3)
152
+ Traceback (most recent call last):
153
+ ...
154
+ ValueError: area_trapezium() only accepts non-negative values
155
+ >>> area_trapezium(-1, -2, 3)
156
+ Traceback (most recent call last):
157
+ ...
158
+ ValueError: area_trapezium() only accepts non-negative values
159
+ >>> area_trapezium(1, -2, -3)
160
+ Traceback (most recent call last):
161
+ ...
162
+ ValueError: area_trapezium() only accepts non-negative values
163
+ >>> area_trapezium(-1, 2, -3)
164
+ Traceback (most recent call last):
165
+ ...
166
+ ValueError: area_trapezium() only accepts non-negative values
167
+ """
168
+ if base1 < 0 or base2 < 0 or height < 0 :
169
+ raise ValueError ("area_trapezium() only accepts non-negative values" )
80
170
return 1 / 2 * (base1 + base2 ) * height
81
171
82
172
@@ -86,7 +176,13 @@ def area_circle(radius: float) -> float:
86
176
87
177
>>> area_circle(20)
88
178
1256.6370614359173
179
+ >>> area_circle(-1)
180
+ Traceback (most recent call last):
181
+ ...
182
+ ValueError: area_circle() only accepts non-negative values
89
183
"""
184
+ if radius < 0 :
185
+ raise ValueError ("area_circle() only accepts non-negative values" )
90
186
return pi * radius ** 2
91
187
92
188
0 commit comments