Помощь в решение задачи по функциональному стилю

jivi1

Новичок
Пользователь
Ноя 27, 2021
6
0
1
Необходимо создать функцию высшего порядка, которая принимает в качестве аргумента функцию и один аргумент. Своими средствами функция должна обеспечивать решение задач определения площади куба и обьема шара. Ввод величины ребра куба и радиуса шара выполнить с клавиатуры. Результаты вывести на экран

Немного не понимаю, зачем нужен аргумент, если в функции можно ввести через input значения и потом через другую функцию просчитать. Буду очень благодарна
 

Vershitel_sudeb

Vershitel sudeb
Команда форума
Модератор
Мар 17, 2021
971
219
43
20
Москва
Python:
a = float(input("Введите длинну без единиц измерения"))

print(f'Площадь куба с указанным ребром равна {a**2*8}')
print(f'Объем шара с указанным радиусом равен {4*a}*3π')
 

jivi1

Новичок
Пользователь
Ноя 27, 2021
6
0
1
Python:
a = float(input("Введите длинну без единиц измерения"))

print(f'Площадь куба с указанным ребром равна {a**2*8}')
print(f'Объем шара с указанным радиусом равен {4*a}*3π')
Спасибо, так я понимаю, но тут просят другое немного, использовать нужно def и ставит чуть-чуть в ступор
 

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 652
472
83
 

jivi1

Новичок
Пользователь
Ноя 27, 2021
6
0
1
Да, да знаю) просто задача предполагает решение с созданием def и непонятно как тогда использовать ещё одну функция, которая передаётся в функцию
 

Vershitel_sudeb

Vershitel sudeb
Команда форума
Модератор
Мар 17, 2021
971
219
43
20
Москва
Да, да знаю) просто задача предполагает решение с созданием def и непонятно как тогда использовать ещё одну функция, которая передаётся в функцию

Ну как-то так например
Python:
def calc(func, *args):
    rez = func(*args)
    print(rez)

def cube(r):
    return r**2*6

def ball(r):
    return str(r*4)+'*π/3'

funcs = (cube, ball)
a = input('''Что вы хотите найти?
    0) Площадь поверхности куба
    1) Объём шара
    ''')
r = float(input('Введите известное значение')

calc(funcs[int(a)], r)
 

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