A = math.degrees(math.acos(math.radians(((b**2 + c**2 - a**2) / 2 * b * c B = math.degrees(math.acos(math.radians(((a**2 + c**2 - b**2) / 2 * a * c C = math.degrees(math.acos(math.radians(((a**2 + b**2 - c**2) / 2 * a * b
ravnobedr = (a == b and a == c) or (a == b and b == c) or (a == c and b == c) ravostor = a == b == c
Всё очень просто. один и тот же алгоритм для перевода из десятичного в любую другую: 1. делишь число на 16 (или 8, или 2)2. получаешь число, целую часть которого умножаешь на 16 (или 8, или 2) и полученное вычитаешь из числа в пункте 1 - получаешь остаток - цифра с нужным индексом (первый индекс #0) в десятичном представлении3. повторяешь 1 и 2 пункт для целой части числа полученного в 1 пункте после деления.4. и так до тех пор, пока целая часть от деления не будет 0
import math
a = 1.0
b = 2.0
c = 3.0
A = math.degrees(math.acos(math.radians(((b**2 + c**2 - a**2) / 2 * b * c
B = math.degrees(math.acos(math.radians(((a**2 + c**2 - b**2) / 2 * a * c
C = math.degrees(math.acos(math.radians(((a**2 + b**2 - c**2) / 2 * a * b
ravnobedr = (a == b and a == c) or (a == b and b == c) or (a == c and b == c)
ravostor = a == b == c
priamoug = A == 90 or B == 90 or C == 90
ostroug = A < 90 or B < 90 or C < 90
tupoug = A > 90 or B > 90 or C > 90
print(
'''
равнобедренный {}
равносторонний {}
прямоугольный {}
остроугольный {}
тупоугольный {}
'''.format(
ravnobedr,
ravostor,
priamoug,
ostroug,
tupoug,
)
)
dec в hex:
>>> 625/16
39.0625
>>> 625-(39*16)
1 #0
>>> 39/16
2.4375
>>> 39 - (2*16)
7 #1
>>> 7/16
0.4375
>>> 2-(0*16)
2 #2
== 0x271
>>> 50/16
3.125
>>> 50-(3*16)
2 #0
>>> 3/16
0.1875
>>> 3-(0*16)
3 #1
== 0x32
>>> 25/16
1.5625
>>> 25-(1*16)
9 #0
>>> 1/16
0.0625
>>> 1-(0*16)
1 #1
== 0x19
dec в oct
>>> 625/8
78.125
>>> 625-(78*8)
1 #0
>>> 78/8
9.75
>>> 78 - (9*8)
6 #1
>>> 9/8
1.125
>>> 9-(1*8)
1 #2
>>> 1/8
0.125
>>> 1-(0*8)
1 #3
0o1161
dec to bin
>>> 625/2
312.5
>>> 625-(312*2)
1 #0
>>> 312/2
156.0
>>> 312-(156*2)
0 #1
>>> 156/2
78.0
>>> 156-(78*2)
0 #2
>>> 78/2
39.0
>>> 78-(39*2)
0 #3
>>> 39/2
19.5
>>> 39-(19*2)
1 #4
>>> 19/2
9.5
>>> 19-(9*2)
1 #5
>>> 9/2
4.5
>>> 9-(4*2)
1 #6
>>> 4/2
2.0
>>> 4-(2*2)
0 #7
>>> 2/2
1.0
>>> 2-(1*2)
0 #8
>>> 1/2
0.5
>>> 1-(0*2)
1 #9
== 0b1001110001