+-------------+------+
| Column Name | Type |
+-------------+------+
| A | int |
| B | int |
| C | int |
+-------------+------+
(A, B, C) is the primary key for this table.
Each row include the lengths of each of a triangle's three sides.
Write a query to find the type of triangle. Output one of the following for each row:
Equilateral : It’s a triangle with 3 sides of equal length.
Isosceles : It’s a triangle with 2 sides of equal length.
Scalene : It’s a triangle with 3 sides of differing lengths.
Not A Triangle: The given values of A, B, and C don’t form a triangle.
Input: Triangles table:+----+----+----+| A | B | C |+----+----+----+|20|20|23||20|20|20||20|21|22||13|14|30|+----+----+----+ Output:+----------------+| triangle_type |+----------------+| Isosceles || Equilateral || Scalene || Not A Triangle |+----------------+ Explanation:- Values in the first row from an Isosceles triangle, because A = B.- Values in the second row from an Equilateral triangle, because A = B = C.- Values in the third row from an Scalene triangle, because A != B != C.- Values in the fourth row cannot form a triangle, because the combined value of sides A and B is not larger than that of side C.
A triangle is valid if the sum of any two sides is greater than the third. Once validity is checked, we classify by the number of equal sides: three (Equilateral), two (Isosceles), or none (Scalene).
SELECTCASEWHEN A + B <=COR A +C<= B OR B +C<= A THEN'Not A Triangle'WHEN A = B AND B =CTHEN'Equilateral'WHEN A = B OR B =COR A =CTHEN'Isosceles'ELSE'Scalene'ENDAS triangle_type
FROM Triangles;
1
2
3
4
5
6
7
8
SELECTCASEWHEN A + B <=COR A +C<= B OR B +C<= A THEN'Not A Triangle'WHEN A = B AND B =CTHEN'Equilateral'WHEN A = B OR B =COR A =CTHEN'Isosceles'ELSE'Scalene'ENDAS triangle_type
FROM Triangles;
1
2
3
4
5
6
7
8
9
10
11
12
13
classSolution:
defclassify_triangles(self, df):
defclassify(row):
a, b, c = row['A'], row['B'], row['C']
if a + b <= c or a + c <= b or b + c <= a:
return'Not A Triangle'if a == b == c:
return'Equilateral'if a == b or b == c or a == c:
return'Isosceles'return'Scalene' df['triangle_type'] = df.apply(classify, axis=1)
return df[['triangle_type']]