【问题标题】:'str' object has no attribute 'turtle' in Python turtle“str”对象在 Python turtle 中没有属性“turtle”
【发布时间】:2018-09-14 14:58:34
【问题描述】:

我正在尝试编写具有海龟形状和颜色并绘制 T 字母的海龟代码。以下是我的代码:它给了我运行时间 形状错误!请帮我纠正它!谢谢

import turtle # Import the required library

ft = turtle.Turtle
ft.shape("turtle")
ft.color(255)
ft.forward(100)
ft.backward(50)
ft.left(90)
ft.forward(200)

【问题讨论】:

  • 如果您遇到错误,那么您需要在此处完全按照您的显示方式发布。

标签: python turtle-graphics python-turtle


【解决方案1】:

您必须将第二行更改为:

ft = turtle.Turtle

ft = turtle.Turtle()

更改变量后ft 将指向turtle 模块中Turtle 类的一个实例,您将能够调用该对象的方法,如shapecolor、等等

【讨论】:

    【解决方案2】:

    此代码中有几个错误。除了@piokuc 指出的缺少的括号:

    ft = turtle.Turtle()
    

    这行也会报错:

    ft.color(255)
    

    color() 函数的参数相当灵活:

    color(colorstring), color((r,g,b)), color(r,g,b)
    

    ft.color(255) 无效有两个原因。首先,它不是一个有效的论点,其次它假设 0 - 255 色标是不正确的。乌龟的默认颜色模式是 0.0 - 1.0,除非你用 turtle.colormode(255) 更改它。

    最后,您可能希望在代码底部以turtle.done() 结尾,除非您在不需要它的开发环境下运行。

    PS:你的“T”是颠倒的!

    【讨论】:

      【解决方案3】:

      你不需要做ft = turtle.Turtle(),只要导入turtle,那么shape的函数就是shape(name = "turtle")

      程序应该是这样的:

      import turtle
      shape(name = "turtle")
      color("blue") #The color you want
      forward(100)
      backward(50)
      left(90)
      forward(200)
      

      【讨论】:

        猜你喜欢
        • 2018-10-16
        • 1970-01-01
        • 2020-06-20
        • 2020-07-12
        • 1970-01-01
        • 1970-01-01
        • 2019-05-10
        • 2023-01-27
        • 2020-09-11
        相关资源
        最近更新 更多