Anyuta3
Элементы равностороннего треугольника пронумерованы следующим образом: 1 - сторона а, 2 -Радиус R1 вписанной окружности (R1 = a√3 / 6), 3 - радиус R2 описанной окружности (R2 = 2R1), 4-площадь S = a 2√3 / 4. Данный номер одного из этих элементов и его значение. Вывести значения остальных элементов этого треугольника (в том же порядке).
Элементы равностороннего треугольника пронумерованы следующим образом:
1 - сторона а,
2 - радиус R1 вписанной окружности (R1 = a√3 / 6),
3 - радиус R2 описанной окружности (R2 = 2R1),
4 - площадь S = a^2 √3 / 4.
Дан номер одного из этих элементов и его значение.
Вывести значения остальных элементов этого треугольника (в том же порядке).
>>> def input_data():
... parts = input('Enter number and value: ').split()
... if len(parts) != 2:
... raise ValueError('Incorrect input: ' + str(parts))
... number = int(parts[0])
... value = float(parts[1])
... return (number, value)
...
>>> def process_data(number, value):
... if number == 1:
... side = value
... elif number == 2:
... side = value / (3 ** 0.5 / 6)
... elif number == 3:
... side = value / (2 * 3 ** 0.5 / 6)
... elif number == 4:
... side = (value / (3 ** 0.5 / 4)) ** 0.5
... else:
... raise ValueError('Incorrect number: ' + str(number))
... out = (
... side,
... side * 3 ** 0.5 / 6,
... 2 * side * 3 ** 0.5 / 6,
... side * side * 3 ** 0.5 / 4
... )
... return out
...
>>> def print_data(side, rin, rout, area):
... fmt = """\
... 1 - {}
... 2 - {}
... 3 - {}
... 4 - {}
... """
... print(fmt.format(side, rin, rout, area), end='')
...
>>> def process_all():
... data = input_data()
... data_counted = process_data(*data)
... print_data(*data_counted)
...
>>> process_all()
Enter number and value: 1 4
1 - 4.0
2 - 1.1547005383792515
3 - 2.309401076758503
4 - 6.928203230275509
>>>
>>> process_all()
Enter number and value: 2 1.1547
1 - 3.9999981349995655
2 - 1.1547
3 - 2.3094
4 - 6.928196769725997
>>>
>>> process_all()
Enter number and value: 3 2.3094
1 - 3.9999981349995655
2 - 1.1547
3 - 2.3094
4 - 6.928196769725997
>>>
>>> process_all()
Enter number and value: 4 6.9282
1 - 3.999999067499674
2 - 1.1547002691895945
3 - 2.309400538379189
4 - 6.9282
>>>
>>> process_all()
Enter number and value: 1 2 3
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<stdin>", line 2, in process_all
File "<stdin>", line 4, in input_data
ValueError: Incorrect input: ['1', '2', '3']
>>>
>>> process_all()
Enter number and value: 5 2
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<stdin>", line 3, in process_all
File "<stdin>", line 11, in process_data
ValueError: Incorrect number: 5
>>>