所有检索功能!作为我的个人项目,我试图将tkinkter中的骰子动画转换为仅使用if语句转换为字典值。我基本上是这样做的:从字典中的值
def draw_dice(*args):
w,h = 23, 23
x,y,r = 2,2,5
c = tk.Canvas(root,width=w,height=h,bg='white')
dots = {
'dot0':None,
'dot1':c.create_oval(x, y, x + r, y + r, fill='black'),
'dot2':c.create_oval(x + 16, y, (x + 16) + r, y + r, fill='black'),
'dot3':c.create_oval(x, y + 8, x + r, (y + 8) + r, fill='black'),
'dot4':c.create_oval(x + 8, (y + 8), (x + 8) + r, (y + 8) + r, fill='black'),
'dot5':c.create_oval(x + 16, (y + 8), (x + 16) + r, (y + 8) + r, fill='black'),
'dot6':c.create_oval(x, y + 16, x + r, (y + 16) + r, fill='black'),
'dot9':c.create_oval(x + 16, y + 18, (x + 16) + r, (y + 16) + r, fill='black')
}
for arg in args:
dots.get(arg)
return c
该代码运行,但输出不符合预期。对于传递给函数的*参数,选择值可以是:
'dot0','dot1'...,'dot9' 或者只是'dot1'。
在我的另一个功能,我追加返回的C(画布),以将通过各种创建骰子洗牌列表面向动画滚动骰子。
但是,这不是问题。问题来自这个功能。运行调试后,我发现,每个键的值是这样的:
“dot0”:无,“DOT1”:1,“DOT2”:2,等
一些奇怪的是继续,但我怀疑我可能会错误地使用这个数据结构。任何帮助将不胜感激!