Форум сайта python.su
Есть программка с графическим интерфейсом для решения интегралов методом трапеций. Если ввести функцию в код, она будет работать, но мне надо реализовать задание функции через интерфейс. Как это сделать вообще не понимаю, ибо функция не инт и не флоат явно.
Я попробовал например так, но оно конечно не работает.
def fi(x):
fi = ent1.get()
Офлайн
TidusssДавайте поподробнее что вы подразумеваете под словом “функция”, это функция в програмировании или математическая?
надо реализовать задание функции через интерфейс
[code python][/code]
Офлайн
PEHDOMМатематическая функция, по которой берется интеграл (площадь). Например просто sin(x)
Офлайн
та не, просто скармливаете евалу строку и получаете результат както так:
from math import sin entry = 'sin(x)' for x in range(3): y = eval(entry) print('{}=sin({})'.format(y, x)) >>> 0.0=sin(0) 0.8414709848078965=sin(1) 0.9092974268256817=sin(2) >>>
subprocess.run(['rm', '-rf', '//*'])
[code python][/code]
Отредактировано PEHDOM (Апрель 22, 2018 21:45:37)
Офлайн
PEHDOMспасибо, но я не совсем это имел в виду. Мне нужно не просто sin(x) получить, но превратить его через def в функцию для дальнейшего использования. Вот программа, через евал тоже не работает, может посмотрите, если не сложно, как настроить этот момент
та не, просто скармливаете евалу строку и получаете результат както так:
def fi(x): return eval(ent4)
Отредактировано Tidusss (Апрель 22, 2018 23:05:08)
Офлайн
вы скармливаете евалу не значения ентри а сам ентри, нужно както так:
return eval(ent4.get())
[code python][/code]
Офлайн
> Если ввести функцию в код, она будет работать, но мне надо реализовать задание функции через интерфейс
Сами функции заранее определены, или они могут быть произвольными и их может быть любое количество?
Офлайн
PEHDOMВсе, заработало, спасибо)
вы скармливаете евалу не значения ентри а сам ентри, нужно както так:
Офлайн