Помогите с задачей

Марьяна08

Новичок
Пользователь
Сен 27, 2020
2
0
1
рограммирование - вычислитель объемов. После появления стажеров-человеков во вселенной Кербина, темпы освоения космоса ускорились настолько, что новые космические станции и базы на планетах стали проектироваться десятками. Инженеры систем жизнеобеспечения просто замучались рассчитывать полезные объемы всех новых станций и попросили помочь им написать программу, которая эти объемы считает автоматически (и тут мы забудем на минутку, что любой нормальный САПР отлично умеет считать объемы, как мы уже видели в "конструкторской" части этого теста! Может быть, у Кербалов это все не так).
Кербальские конструкторы всегда сооружают свою космическую технику из следующих форм: сфер, полусфер, торов (бубликов), цилиндров и усеченных конусов. На входе вашей программы будет список таких форм, с размерами, на выходе - одно число, объем всей конструкции в м3. Заказчики сказали, что можно пренебречь тем, что эти тела в конструкции пересекаются, и просто считать сумму объемов. Формулы для каждого типа тела найдите сами в интернете.
На входе в программу читаем из входного потока:
N - число строк с описаниями геометрических тел
тело 1
тело 2
...
тело N
Одна строка описывает одно тело. Первая буква определяет форму, дальше через пробел идут параметры:
S диаметр - (sphere) сфера заданного диаметра
D диаметр - (dome - купол) полусфера заданного диаметра
С диам1 диам2 выс - цилиндр, конус или усеченный конус, определяется диаметром нижнего и верхнего основания и высотой. Если диам1=диам2, то это цилиндр, если один из диаметров 0 - конус, иначе - усеченный конус.
Т толщ диам - это тор, "толщ" - диаметр сечения, "диам" - диаметр окружности, вокруг которой он закручен (проходит через центр сечения)
На выходе: одна строка с числом - суммарный объем космической станции.
Sample Input 1:
1
S 10

Sample Output 1:
523.5987755982989
Sample Input 2:
1
D 10

Sample Output 2:
261.79938779914943
Sample Input 3:
1
C 4 6 10

Sample Output 3:
198.96753472735355
Sample Input 4:
1
T 2 8

Sample Output 4:
78.95683520871486
Напишите программу. Тестируется через stdin → stdout
 

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 581
457
83
сами пытались что то сделать?
 

Марьяна08

Новичок
Пользователь
Сен 27, 2020
2
0
1
сами пытались что то сделать?
По первой задаче - да. Ответ неверный(
x = [23, 23,126, 132, 131, 139, 143, 143, 133, 139, 166, 128, 122, 125, 124, 119, 112, 115, 126, 137, 136, 142, 147,155, 128, 111, 125, 135, 139, 141, 143, 131, 136, 151, 242, 126, 128, 125, 122, 114, 115, 124, 129, 132, 133, 147, 152, 130, 125, 134, 147, 137, 128, 139, 134, 136, 138, 129, 133, 253, 122, 116, 115, 117, 122, 124, 127, 123, 138, 142, 140, 142, 135, 151, 135, 123, 128, 133, 133, 134, 134, 130, 127, 136, 124, 115, 118, 121, 120, 120, 121, 131, 136, 145, 153, 142, 136, 138, 131, 125, 126, 126, 123, 131, 133, 157, 196, 150, 245, 113, 120, 253, 120, 126, 127, 135, 143, 149, 151, 141, 139, 132, 111, 116, 117, 251, 127, 130, 248, 186, 145, 115, 117, 119, 120, 119, 128, 251, 135, 139, 148, 147, 150, 136, 130, 114, 110, 108, 113, 130, 143, 135, 133, 120, 117, 120, 121, 123, 119, 129, 126, 135, 143, 149, 147, 149, 144, 131, 121, 110, 106, 105, 132, 248, 147, 118, 104, 253, 125, 123, 125, 122, 136, 126, 137, 150, 152, 149, 146, 140, 135, 134, 133, 131, 120, 130, 147, 147, 126, 112, 122, 127, 123, 126, 128, 136, 137, 144, 159, 151, 150, 143, 250, 243, 189, 207, 186, 125, 135, 143, 140, 136, 148, 132, 129, 127, 130, 138, 142, 146, 153, 165, 141, 146, 144, 150, 174, 231, 234, 186, 242, 162, 155, 138, 142, 166, 134, 120, 131, 136, 144, 149, 159, 152, 169, 132, 137, 146, 161, 165, 220, 227, 174, 143, 145, 130, 134, 136, 128, 115, 252, 138, 147, 151, 157, 161, 162, 245, 141, 154, 139, 148, 145, 165, 255, 155, 148, 140, 130, 133, 252, 121, 244, 121, 139, 255, 151, 155, 164, 171, 185, 149, 154, 145, 143, 139, 140, 146, 138, 141, 139, 139, 137, 128, 123, 118, 124, 152, 135, 143, 155, 166, 176, 185, 154, 131, 150, 147, 136, 141, 147, 129, 139, 137, 140, 143, 127, 125, 124, 129, 158, 126, 135, 154, 168, 176, 182, 150, 103, 130, 146, 143, 143, 144, 149, 156, 137, 125, 130, 122, 121, 125, 134, 156, 155, 142, 148, 249, 168, 171, 132, 101, 243, 140, 146, 142, 142, 151, 169, 146, 254, 123, 134, 118, 124, 135, 144, 159, 150, 142, 158, 246, 193, 247, 104, 84, 135, 148, 139, 140, 134, 141, 152, 130, 125, 141, 115, 119, 133, 137, 132, 150, 148, 146, 162, 208, 135, 122, 96, 130, 144, 255, 148, 133, 125, 128, 135, 118, 113, 113, 123, 142, 147, 131, 155, 139, 134, 162, 210, 125, 105, 108, 131, 135, 146, 171, 247, 119, 122, 122, 117, 119, 115, 118, 127, 126, 249, 130, 124, 132, 166, 199, 131, 121, 133, 127, 125, 136, 156, 147, 117, 118, 116, 120, 117, 117, 120, 246, 120, 122, 125, 125, 131, 142, 170, 134, 146, 149, 126, 125, 150, 141, 126, 120, 118, 126, 147, 127, 111, 115, 124, 255, 119, 122, 127, 243, 132, 141, 146, 241, 210, 249, 126, 159, 112, 94, 129, 141, 141, 174, 159, 109, 110, 128, 122, 118, 114, 254, 129, 132, 132]
x_filtred = [num for num in x if num >= 240]
print(len(x_filtred))
 

lynulx

Модератор
Команда форума
Модератор
Авг 9, 2020
139
19
18
лучше сформулируйте конкретный вопрос, а не просите решить за вас задачу, тогда вам и помогут
 

Форум IT Специалистов