用for循环在一个窗口上绘制五次

你好,我需要创建一对圆,但要在一个窗口上绘制五次。我完全被难住了。这是我迄今为止打印出的一对圆圈:

选择 | 换行 | 行号
  1. def p91_clone():
  2.     win = GraphWin("cloning dots")
  3.     leftEye = Circle(Point(80,50),5)
  4.     leftEye.setFill('yellow')
  5.     leftEye.setOutline('red')
  6.     rightEye = leftEye.clone()
  7.     rightEye.move(20,0)
  8.     leftEye.draw(win)
  9.     rightEye.draw(win)
  10.  
  11.  
  12.  
  13.  
  14. p91_clone()

该程序创建一对圆圈。我的工作需要五对圆圈。我知道我使用"for I in range(5):",但在哪里

# 回答1

下面是一个使用范围创建图形圆的示例,可以帮助您:

选择 | 换行 | 行号
  1. from graphics import *
  2.  
  3. def main(size=40, rows=2, cols=5):
  4.     length = (cols-1)*size + size*2
  5.     height = (rows-1)*size + size*2
  6.     win = GraphWin("My Circle", length, height)
  7.     for row in range(rows):
  8.         for col in range(cols):
  9.             x = size+col*size
  10.             y = size+row*size
  11.             c = Circle(Point(x,y), size/2)
  12.             if row % 2:
  13.                 c.setFill('white')
  14.             else:
  15.                 c.setFill('red')
  16.             c.draw(win)
  17.     win.getMouse()
  18.     win.close()    
  19. main()
# 回答2

另一个例子:

选择 | 换行 | 行号
  1. from graphics import *
  2.  
  3. def p91_clone(X):
  4.     leftEye = Circle(Point(20+x,50),5)
  5.     leftEye.setFill('yellow')
  6.     leftEye.setOutline('red')
  7.     rightEye = leftEye.clone()
  8.     rightEye.move(20,0)
  9.     leftEye.draw(win)
  10.     rightEye.draw(win)
  11.  
  12. win = GraphWin("cloning dots", width=220, height=100)
  13. for x in range(0, 200, 40):
  14.     p91_clone(x)

标签: python

添加新评论