【问题标题】:turtle.textinput giving "AttributeError" instead of opening "turtle graphics"turtle.textinput 给出“AttributeError”而不是打开“turtle graphics”
【发布时间】:2018-01-05 04:22:39
【问题描述】:

我对 Python 并不陌生,这将是一个语法错误。不过,我从来没有真正搞乱过海龟图形,所以这对我来说是全新的。无论如何,我试图制作一个乌龟图形螺旋,它将接受用户的输入(字符串、数字等)并将其变成一个整洁的螺旋。无论如何,我在运行代码时收到此错误消息。

请注意我使用的是 Python 3。

Traceback (most recent call last):
  File "spiral_my_name.py", line 6, in <module>
    your_name = turtle.textinput("Enter your name", "What is your mame?") 
AttributeError: 'module' object has no attribute 'textinput'

这是我从这个语法中得到的错误信息:

import turtle
t = turtle.Pen()
turtle.bgcolor('black')
colors = ['purple', 'pink', 'green', 'blue'] 

your_name = turtle.textinput("Enter your name", "What is your name?") 
for x in range(100):
    t.pencolor(colors[x%4])
    t.penup()
    t.forward(x*4)
    t.pendown()
    t.write(your_name, font = ("Arial", int ( (x+4) / 4), "bold") )
    t.left(92)

现在我个人并不经常为此使用 Python,所以我打算放手,但这是一个属性错误。我有点想知道为什么会这样。

【问题讨论】:

  • 是的,除了他使用的是“python 2”我使用的是“Python 3”。
  • 这是您的想法还是 print(sys.version) 返回大于 3 的版本号?
  • 确实如此。我的版本是“Python3.4.2”
  • 我很感谢您的帮助,但这并没有改变任何事情。我可能在某个地方犯了一个愚蠢的错误。我会继续寻找。再次感谢!上帝保佑!

标签: python turtle-graphics


【解决方案1】:

好吧,在过去的一个小时里,我一直在试图解决这个问题。 我找到了您从中获取此代码的书。起初我尝试使用 repl (一个可以在线运行程序的网站)运行它,但它没有工作,但是当我在 cmd 上运行它时它确实有效,以及在 IDLE 中(显示的运行环境在书里)。你在哪里运行你的代码?

【讨论】:

  • 嘿,感谢您回复我。是的,我实际上跳过了这本书的那一部分,现在才回到它,大声笑,无论如何我一直在我的树莓派上运行代码,仅仅是因为这是我最近一直在做的主要事情。 (对于学校项目)是否需要更改树莓派中的代码。
【解决方案2】:

你必须替换这个:

your_name = turtle.textinput("Enter your name", "What is your name?")

与:

your_name = turtle.Screen().textinput("Enter your name", "What is your name?")

【讨论】:

  • 添加更多细节,例如为什么应该使用Screen() 将有助于更多地理解解决方案。
  • 这对于标准 Python 乌龟库是不正确的——你测试过原始库吗?大多数turtle的方法在加载时都被称为顶级函数,因此your_name = turtle.textinput(...)import turtle的情况下完全有效。
猜你喜欢
  • 2019-01-04
  • 2016-07-04
  • 1970-01-01
  • 2018-06-14
  • 2012-10-31
  • 1970-01-01
  • 2020-06-20
  • 1970-01-01
  • 2021-10-06
相关资源
最近更新 更多