Форум сайта python.su
Составить программу для решения приведенного ниже задачи
Придумать и задать входные данные так, чтобы выбор был из 4-7 альтернатив.
Элементы равностороннего треугольника пронумерованы следующим образом: 1 - сторона а, 2 -Радиус R1 вписанной окружности (R1 = a√3 / 6), 3 - радиус R2 описанной окружности (R2 = 2R1), 4-площадь S = a 2√3 / 4. Данный номер одного из этих элементов и его значение. Вывести значения остальных элементов этого треугольника (в том же порядке).
Отредактировано Anyuta3 (Май 19, 2021 23:21:53)
Офлайн
Anyuta3Дык никто не может, в пайтоне нет case, поэтому задание невыполнимо по определению.
1. команду case
[code python][/code]
Офлайн
PEHDOMhttps://www.python.org/dev/peps/pep-0636/
в пайтоне нет case
Офлайн
Case появится токлько в версии 3.10, да и если честно, то не особо он и нужен…
https://leftjoin.ru/all/pattern-matching-v-python/
Офлайн
pokryshkin это для 3.10, 3.10 cейчас в состоянии beta preview, так что считайте что нету. Как выйдет stable так можно будет говорить что есть. Очень сочневаюсь что школьники учат ЯП по beta preview версии ЯП.
[code python][/code]
Отредактировано PEHDOM (Май 20, 2021 19:52:41)
Офлайн
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 >>>
Отредактировано py.user.next (Май 24, 2021 23:27:42)
Офлайн