0

第一篇 嗨,我是 python 新手。我有以下代码

class Signal_4():
def __init__(self,x1, y1):
    self.x1 = x1
    self.y1 = y1

def draw(self):
    v1 = 0
    v2 = 0
    for i in range(4):
        v1 = self.x1 + 10*i
        v2 = v1 + 10
        points= [v1,self.y1,v2,self.y1+10]
        setattr(mod, str(self)+'_{}'.format(i),Frame1.create_oval(points, outline="black",fill="black"))

Y5 = Signal_4(360, 20)
Y5.draw()

如果你要运行它,在 Frame1(我将窗口分为 3 帧)中会出现 4 个黑点。现在我想使用动态变量(例如 Y5_0)来制作蓝色/红色/任何其他颜色的点。但是当我运行代码时,一切正常,除了我尝试更改点颜色“NameError:名称'Y5_0'未定义”的部分。

如果有人可以提供帮助:关于如何进一步使用动态变量的建议,或者如果最佳做法是使每个点成为静态变量,我们将不胜感激。

PS:我正在尝试找到一个不写300行代码的解决方案,这意味着68个变量

4

0 回答 0