使用循环创建图形对象的迭代

问题描述 投票:0回答:1

我四处寻找答案,但似乎找不到解决方法。我想用word函数创建10个相同的圆,其中心点具有相同的y坐标,但x坐标不同,因此它们从一个中心点到另一个中心点的间距为25。我创建的函数仅绘制对象的一个​​迭代,而我不知道如何解决此问题。感谢您的任何帮助。

我试图创建两个单独的功能。一个定义了循环功能,我想在附加圈子列表的同时打印10个圈子。另一个函数调用draw函数绘制所有13个圆。

def draw(window):
    circles=[]
    for i in range(10):
        x=25
        circle=Circle(Point(0+x,370),10)
        circle.setFill("yellow")
        circles.append(circle)
        circle.draw(window)
    return circles
def circleRow():
    window=GraphWin("Window",400,400)
    window.setBackground("red")
    cicles1=draw(window)

circleRow()

我期望输出10个圆,沿着相同的y坐标均匀分布,但只得到一个圆。

python loops zelle-graphics
1个回答
0
投票

我们可以将[未使用的]迭代变量i替换为x,并明确描述它应采用的值范围:

from graphics import *

def draw(window):
    circles = []

    for x in range(25, 275, 25):
        circle = Circle(Point(x, 370), 10)
        circle.setFill('yellow')
        circle.draw(window)

        circles.append(circle)

    return circles

def circleRow():
    window = GraphWin("Window", 400, 400)
    window.setBackground('red')

    circles = draw(window)

    window.getMouse()
    window.close()

circleRow()

还有其他各种有效的方法可以解决这个问题。

© www.soinside.com 2019 - 2024. All rights reserved.