Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 乌龟运动的计时有困难_Python_Python 3.x_Time_Timer_Turtle Graphics - Fatal编程技术网

Python 乌龟运动的计时有困难

Python 乌龟运动的计时有困难,python,python-3.x,time,timer,turtle-graphics,Python,Python 3.x,Time,Timer,Turtle Graphics,我编写了以下代码,它在两个随机位置创建扩展的正方形。我想写一个函数f(平方,秒),这样如果用户输入f(5,10),每10秒就会开始形成一个新的平方,直到形成5个 我似乎找不到任何东西可以让我在一个方格还在形成的时候开始一个新的方格。我可以同时制作两个表单,如下面的代码所示,或者先完成一个表单,然后再开始制作另一个表单。帮忙 import sys sys.setExecutionLimit(1000000) import turtle import random wn = turtle.Scree

我编写了以下代码,它在两个随机位置创建扩展的正方形。我想写一个函数f(平方,秒),这样如果用户输入f(5,10),每10秒就会开始形成一个新的平方,直到形成5个

我似乎找不到任何东西可以让我在一个方格还在形成的时候开始一个新的方格。我可以同时制作两个表单,如下面的代码所示,或者先完成一个表单,然后再开始制作另一个表单。帮忙

import sys
sys.setExecutionLimit(1000000)
import turtle
import random
wn = turtle.Screen()
#Creates alex the turtle
alex = turtle.Turtle()
alex.color('blue')
alex.pensize(3)
alex.ht()
alex.penup()
#creates bob the turtle
bob = turtle.Turtle()
bob.color('blue')
bob.pensize(3)
bob.ht()
bob.penup()

#Sets variables so that alex starts in a random location
a=random.randrange(360)
b=random.randrange(360)
x=random.randrange(50,150)
y=random.randrange(50,150)
#Sets variables so that bob starts in a random location
l=random.randrange(360)
m=random.randrange(360)
n=random.randrange(50,150)
o=random.randrange(50,150)
#Moves alex to his random starting location
alex.speed(100)
alex.left(a)
alex.forward(x)
alex.left(b)
alex.forward(y)
alex.pendown()
#Moves bob to his random starting location
bob.speed(100)
bob.left(l)
bob.forward(n)
bob.left(m)
bob.forward(o)
bob.pendown()

#Draws the 2 squares
for i in range(1,500):
    alex.forward(i)
    alex.left(90)
    bob.forward(i)
    bob.left(90)

您想要的功能需要独立的执行线程。您需要使用多线程和

您将需要这样的逻辑:

import time
import threading

def draw_square():
    # Draw a square in a random place
    length = random.randrange(360)
    width  = random.randrange(360)
    x_pos  = random.randrange(50,150)
    y_pos  = random.randrange(50,150)

    # Continue with your square-drawing logic;
    # you already know how to do this.

while True:
    threading.thread(draw_square)
    time.sleep(10)