You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VS Code运行Python Turtle代码无报错但不弹出图形窗口如何解决

问题原因与修复方案

你的代码无法弹出Turtle图形窗口的核心原因是存在无限递归调用,同时存在多处缩进错误和执行顺序错误:

  • draw_art() 函数内部自行调用自身,触发无限嵌套执行,永远无法运行到触发窗口渲染、等待点击退出的逻辑
  • 控制angie绘制螺旋的size += 1缩进错误,仅会执行1次,无法实现螺旋步长递增效果
  • 画布初始化、绘制函数调用、窗口等待逻辑都被错误放在draw_art()内部,执行逻辑完全混乱

修复后可运行代码

from turtle import Turtle, Screen

def draw_square(some_turtle):
    for _ in range(4):
        some_turtle.forward(200)
        some_turtle.right(90)

def draw_art():
    brad = Turtle(shape="turtle")
    brad.color("yellow")
    brad.pensize(2)
    brad.speed(0)
    for _ in range(36):
        draw_square(brad)
        brad.right(10)
    # Turtle Angie    
    angie = Turtle(shape="turtle")
    angie.color("blue")
    angie.pensize(2)
    angie.speed(0)
    size = 1
    for _ in range(300):
        angie.forward(size)
        angie.right(91)
        size += 1

# 全局执行逻辑
window = Screen()
window.bgcolor("black")
draw_art()
window.exitonclick()

核心修改点

  • 移除draw_art()内部的自调用代码,解除无限递归
  • 调整angie.right(91)和size += 1的缩进,放入for循环内部,实现正确的螺旋绘制效果
  • 将画布初始化、背景色设置、绘制函数调用、窗口点击退出逻辑全部移到全局作用域,保证执行顺序正确

内容的提问来源于stack exchange,提问作者Pratibha Bade

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.14 05:03:03