Hi-im正在尝试使用johnzelles简单图形模块导入创建一个大小为100x100像素的python图形窗口。在
下面是我需要在图形窗口中重新创建的项目,我只是在寻找如何开始这方面的提示,因为我不知道从哪里开始(我可以单独绘制每个东西,但我需要使用一个循环)我已经尝试过,但我已经完全卡住,我知道圆圈需要有一个半径5
谢谢
更新: 所以在@Alecg_O的帮助下,我已经解决了这个问题,但是我不知道如何复制红色圆圈无数次,显然我可以复制并粘贴代码并更改x&y坐标,但必须有一种更有效的方法?到目前为止我的代码
def circlePattern():
win = GraphWin("Graphics", 100, 100)
x = -15
y = 20
for i in range(3):
x = x + 35
for dx in range(-10,11,10):
for dy in range(-10,11,10):
drawCircle(win, Point(x+dx, y+dy), 5, "red")
y = 20
for i in range(2):
y = y + 35
for dx in range(-10,11,10):
for dy in range(-10,11,10):
drawCircle(win, Point(x+dx, y+dy), 5, "red")
for x in range(10,86,35):
for y in range(10,86,35):
drawCircle(win, Point(x+dx, y+dy), 5, "white")
为了最大限度地利用循环,您需要使用一系列嵌套循环:
从窗口左侧到每组中心(白色圆圈的中心)的距离为10+5=15像素,因此要使圆均匀分布,x和y坐标应为:
这样可以让您循环通过每个白色圆圈的中心点:
^{pr2}$下一步你需要循环通过使每个圆成为一个集合的点。例如,对于第一组:
但是我们想让它成为一般的,我们需要用x和y来定义它们:
要使这些以循环形式出现,这样的方法应该足够了:
最后你准备好做你的圆了,因为循环贯穿所有需要的点,你只需要定义一个圆!这将在点(x+dx,y+dy)处。在
你可能已经注意到,现在这只会把所有的圆圈都画成红色。我把它留给你一个小小的挑战,让中间的语句变白:)提示:不要担心if语句,只需在绘制的语句上方画一个白色圆圈。如果将圆放置在循环中的正确位置,则只需再定义一个圆。在
相关问题 更多 >
编程相关推荐