我有一个问题,我试图使用turtle模块在Python(2.7)中绘制一个正方形和一个圆形。
import turtle
def draw_cricle(circle_size):
boby = turtle.Turtle()
boby.color("black")
boby.shape("arrow")
boby.right(90)
boby.forward(200)
boby.left(90)
boby.back(20)
boby.circle(circle_size)
def draw_square(forward_dst, right_angle):
window = turtle.Screen()
window.bgcolor("red")
brad = turtle.Turtle()
brad.shape("circle")
brad.speed(3)
brad.forward(forward_dst)
brad.right(right_angle)
brad.forward(forward_dst)
brad.right(right_angle)
brad.forward(forward_dst)
brad.right(right_angle)
brad.forward(forward_dst)
brad.right(right_angle)
window.exitonclick()
draw_square(100,90)
draw_cricle(100)
我的问题是调用draw_square函数后无法调用draw_circle函数。
是的,我知道我应该在draw_square中使用循环
最佳答案
从 draw_square
函数运行 window.exitonclick() 时,您将关闭窗口。如果您想使用同一个窗口来绘制正方形和圆形,则应该在这些函数之外定义窗口,否则,您甚至在开始绘制圆形之前就关闭了窗口。
import turtle
def draw_cricle(circle_size):
boby = turtle.Turtle()
boby.color("black")
boby.shape("arrow")
boby.right(90)
boby.forward(200)
boby.left(90)
boby.back(20)
boby.circle(circle_size)
def draw_square(forward_dst, right_angle):
brad = turtle.Turtle()
brad.shape("circle")
brad.speed(3)
brad.forward(forward_dst)
brad.right(right_angle)
brad.forward(forward_dst)
brad.right(right_angle)
brad.forward(forward_dst)
brad.right(right_angle)
brad.forward(forward_dst)
brad.right(right_angle)
window = turtle.Screen()
window.bgcolor("red")
draw_square(100,90)
draw_cricle(100)
window.exitonclick()
关于Python:Turtle 不能调用函数两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54962077/