AttributeError: у модуля 'turtle' нет атрибута 'screen' в spyder? - PullRequest
0 голосов
/ 03 декабря 2018

Что не так с этим кодом?Я попытался запустить этот код , но в выводе 'AttributeError: module 'turtle' has no attribute 'screen' отображается:

import turtle

def draw_square():
    window = turtle.screen()
    window.bgcolor("red")

    brad = turtle.turtle()
    brad.forward(100)
    brad.right(90)
    brad.forward(100)
    brad.right(90)
    brad.forward(100)
    brad.right(90)
    brad.forward(100)
    brad.right(90)

    window.exitonclick()

draw_square()
turtle.done()
turtle.bye()

Ответы [ 2 ]

0 голосов
/ 10 июня 2019

Если у вас есть файл с именем «turtle.py», вы должны переименовать его или переместить из рабочего каталога. Интерпретатор Python пытается импортировать файл с именем «turtle.py» из рабочего каталога, прежде чем импортировать его из установочных файлов Python.Сам файл, который генерирует эту ошибку, называется "turtle.py", вы должны переименовать его!

0 голосов
/ 04 декабря 2018

У вас есть несколько проблем в вашем коде.Во-первых, это:

window = turtle.screen()

должно быть так:

window = turtle.Screen()

То же самое здесь:

brad = turtle.turtle()

, которое должно быть:

brad = turtle.Turtle()
* 1012Наконец, у вас есть избыточность:
    window.exitonclick()

...
turtle.done()

Поскольку exitonclick() и done() служат одной и той же цели, но по-разному.В стиле, я бы настроил ваш экран и черепаху за пределами draw_square() и просто заставил бы эту функцию делать то, что она говорит, нарисовать квадрат - ниже я бы хотел написать эту программу:

from turtle import Screen, Turtle

def draw_square(turtle):

    for _ in range(4):
        turtle.forward(100)
        turtle.right(90)

window = Screen()
window.bgcolor("red")

brad = Turtle()

draw_square(brad)

window.exitonclick()
...