如何使用Tkinter-Canvas在数学函数上使用'exec()'语句创建图形?

时间:2019-02-08 13:21:44

标签: python python-3.x tkinter tkinter-canvas

我正在使用Tkinter-Canvas制作数学图。它是这样工作的: 首先,用户输入一个数学函数,就像:y = 5 * x + 3。 然后,该程序在Tkinter-Canvas上创建一个图形以向我们展示该功能。我的问题是,我无法获得函数的y值。

到目前为止,我已经尝试创建一个范围并将函数中的“ x”设置为范围对象。看起来像这样:

yPre=input('Enter function: y = ')
for i in range(-100, 100, 1):
    x=i

我已经结帐了,

func='3*5+6'
exec('print('+func+')')

输出:21.因此,我只是想:“现在我必须导入模块re,用i的字符串替换'x',即y。但是exec(something)返回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)

0 个答案:

没有答案