我在Coursera学习python。我写了一个程序,根据这个程序,当我点击屏幕时,它会画圆。请参阅下面的程序--# Dots
# importing
import simplegui
import math
width = 600
height = 600
ball_list = []
radius = 20
colour = "Yellow"
# position ditector
def distance(p,q) :
return math.sqrt((p[0]-q[0])**2 + (p[1]-q[1])**2)
# Mouse click -- Change the position
def click(pos) :
ball_list.append(pos)
# global position
# global colour
# if distance(pos, position) < radius :
# colour = "Blue"
# else :
# position = list(pos)
# colour = "Yellow"
# Drawing the ball
def draw(canvas) :
for position in ball_list :
canvas.draw_circle(position , radius , 2, "Black" , colour)
# Creating the frame
frame = simplegui.create_frame("Dots" , 600,600)
frame.set_canvas_background("White")
frame.set_draw_handler(draw)
# mouse click
frame.set_mouseclick_handler(click)
# Start
frame.start()
但我的疑问是在def draw(canvas)中,for position in ball_list,我没有定义任何位置。我做了position = list(pos)作为评论。那么position in ball_list中position的值是什么,for循环在没有任何值的情况下如何工作?什么是迭代?for循环和迭代有什么区别?在