多控件技术

这个窗体图形的代码为
import tkinter as tk
t=tk.Tk()
t.geometry('500x58')
c1=tk.Canvas(bg='red',height=55,width=55)
c2=tk.Canvas(bg='red',height=55,width=55)
c3=tk.Canvas(bg='red',height=55,width=55)
c4=tk.Canvas(bg='red',height=55,width=55)
c5=tk.Canvas(bg='red',height=55,width=55)
c6=tk.Canvas(bg='red',height=55,width=55)
c7=tk.Canvas(bg='red',height=55,width=55)
c8=tk.Canvas(bg='red',height=55,width=55)
c9=tk.Canvas(bg='red',height=55,width=55)
c1.place(x=0*55)
c2.place(x=1*55)
c3.place(x=2*55)
c4.place(x=3*55)
c5.place(x=4*55)
c6.place(x=5*55)
c7.place(x=6*55)
c8.place(x=7*55)
c9.place(x=8*55)
tk.mainloop()
看了这种代码,感觉是国庆大阅兵,很有气势!
如果设计的图形需要1000个画布,难道需要2000行代码吗?

改进
import tkinter as tk
t=tk.Tk()
t.geometry('500x58')
c=[ ] #建立一个数列
n=0 #画布数量计数
j=0 #画布间隔
while n<9:
global j
c.append(tk.Canvas(bg='red'))
c[n].place(x=j)
j+=55
n+=1
tk.mainloop()
重要技术:while 重复
while 条件 :
条件成立时,进行多个操作
如果没有 n+=1 , 程序将永远循环下去,除非停电 或者 电脑坏掉,或者 人为终止。
引入新内容:数列,用中括号表示
任务
去掉 n+=1,执行一下程序,您敢吗?
观察循环的单步执行情况

