Я делаю математический график, используя Tkinter-Canvas.Вот как это работает: сначала пользователь вводит математическую функцию, например: y = 5 * x + 3. Затем программа создает график на Tkinter-Canvas, чтобы показать нам эту функцию.Моя проблема заключается в том, что я не могу получить значение y функции.
До сих пор я пытался создать диапазон и установить для функции 'x' значение ocject диапазона.Это выглядит так:
yPre=input('Enter function: y = ')
for i in range(-100, 100, 1):
x=i
Я проверил, что:
func='3*5+6'
exec('print('+func+')')
выводит: 21. Итак, я просто подумал: «Теперь я должен импортировать модуль повторно, замените 'x' на строку i, а это y. Но exec (что-то) возвращает None, а не строку. И я не могу распечатать элемент как переменную. Однако это должен быть мой код:
import tkinter as tk, re
# … Canvas, Buttons, Widgets, …
yPre=input('Enter function: y = ')
for i in range(-100, 100, 1):
x=i
yPre=re.sub('x', str(i), yPre)
y=exec(yPre) # (Or whatever it should be)