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

Python turtle模块获取输入遇AttributeError错误,求实现边长输入画正方形

问题解决:Turtle中AttributeError及正方形绘制修正

错误原因

textinput是turtle.Screen类的方法,并非Turtle实例的方法,你错误地尝试用Turtle对象调用该方法,导致了AttributeError。此外代码还存在两个额外问题:

  • textinput返回的是字符串类型,直接传给forward会报错,需要转为整数
  • 绘制正方形时,右转角度应该是90度(正方形内角为90度),而非边长数值

修正后的代码

import turtle as tu

# 先创建屏幕对象,用于获取用户输入
screen = tu.Screen()
# 获取输入并转为整数类型
square_len = int(screen.textinput("Square Length", "Length"))

# 创建海龟实例
turtle = tu.Turtle()
turtle.color("cyan1")
turtle.shape("turtle")

def draw_square():
    # 正方形需要循环4次:前进+右转90度
    for _ in range(4):
        turtle.forward(square_len)
        turtle.right(90)

draw_square()
screen.exitonclick()

关键修改点

  • 提前创建Screen对象,通过它调用textinput方法
  • 将输入的字符串转为整数int(),确保turtle能正确处理数值
  • 重构draw_square函数:用循环简化代码,每次右转90度(正方形的正确转向角度)

内容的提问来源于stack exchange,提问作者Shriram Dekhane

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 10:19:50