首页 > 解决方案 > 使用 tkinter 使用 for 循环的最佳方法?

问题描述

def draw_cloud (canvas):
    right = 5
    left = 5 
    for i in cloud: 3
        canvas.create_oval(100,110,150, 175, outline = 'white', fill = 'white')
        left += 10
        right += 10

对于我的作业,我正在使用 tkinter 画布绘制场景并试图弄清楚如何使用 tkinter 使我的 for 循环工作,因为我的作业需要至少一个重复元素,该元素必须作为 for 循环重复

标签: pythonloopstkinter

解决方案


在此示例中使用 for 循环可以在您的情况下以多种方式工作。

  1. 有一个位置列表并使用 for 循环遍历它们,并在那里创建一个云,例如:
cloud_positions = [(100,110,150,175),(130,140,160,195)]

for position in cloud_positions:
    canvas.create_oval(position[0],position[1],position[2],position[3],outline='white',fill='white')
  1. 使用 for 循环添加到变量:
left = 0

for i in range(5): #5 clouds created
    canvas.create_oval(100+left,110,150+left,175)
    left += 400 #next cloud is 400 to the right
  1. 使用迭代变量:
for i in range(5):
    canvas.create_oval(100+i*400,110,150+i*400,175)

您应该使用最适合您的问题的任何方法。如果您想精确控制云的位置,请使用第一个选项。如果您只想让所有云相互关联,请使用 2 或 3。


推荐阅读