Как мне разорвать цикл for с ключевым событием? - PullRequest
0 голосов
/ 24 апреля 2019

Я хочу разорвать цикл for в Python 3.7.3 с ключевым событием. Я пытаюсь сделать маленькую игру в графике черепахи.

import turtle
from turtle import *

block1 = turtle.Turtle()

def space1():
    block1.hideturtle()

listen()
onkey(space1, "space")

for b in range(1, 200):
    block1.backward(537.5)
    block1.forward(537.5)

Пока я прячу черепаху, когда нажимаю «пробел», но я хочу разорвать цикл for с помощью ключевого события.

1 Ответ

1 голос
/ 24 апреля 2019

Сделайте еще один обратный вызов:

...

exit = false
def space1():
    global exit
    exit = True
    block1.hideturtle()

listen()
onkey(space1, "space")


for b in range(1, 200):
    if exit:
        break
    block1.backward(537.5)
    block1.forward(537.5)

Это всего лишь пример, и хотя вы не должны использовать global переменные и вам следует инкапсулировать все это поведение, этого будет достаточно.

...