【发布时间】:2017-08-17 21:44:02
【问题描述】:
我无法让我的 while 循环中断。我试图从起点移动圆圈,直到它到达窗口的边缘。我可以让它移动,但它不会停止移动。我尝试了不同类型的循环,甚至添加了一个中断,但它仍然不会中断:/
from time import *
from graphics import *
from random import *
win = GraphWin("My Program", 500,400)
def MoveRight(circle):
circle_center = circle.getCenter()
center_x = circle_center.getX()
center_y = circle_center.getY()
circle.draw(win)
for center_x in range(center_x, 450):
circle.move(10,0)
sleep(.15)
circle_center = circle.getCenter()
my_circle = Circle(Point(200,50), 20)
my_circle.setFill("blue")
MoveRight(my_circle)
编辑: 已解决!
【问题讨论】:
-
哪个
while循环?注意:从多个模块from ... import *可能永远不是一个好主意。 -
您的
for循环执行 250 次(center_x的值从 200 到 450),但每一步移动 10 个像素,总共 2500 个像素。也就是说,center_x不再代表第一步之后圆圈的位置。如果您使用circle.move(1, 0),它的行为可能更像您的预期。
标签: python-3.x while-loop break