Python:Turtle 不能调用函数两次

标签 python python-2.7 function pycharm turtle-graphics

我有一个问题,我试图使用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/

相关文章:

python - 字典 __gt__ 和 __lt__ 实现

python-2.7 - Python Numpy 安装 Windows 10 64 位

C++传递指向函数错误的指针

python - Scipy 插值返回一个 'dimensionless' 数组

python - 如何获取异常字典信息?

python - 具有分类输入的回归树或随机森林回归器

python - 如何将 series.isin 与不同的集合一起用于不同的值?

django - 遇到未知标签 'with'

c - 在 C 中实现函数重载的最佳方法是什么?

javascript - 通过java API从orientdb调用JS函数