У меня ошибка атрибута, и я не могу найти ответ на свою проблему - PullRequest
0 голосов
/ 22 декабря 2018

Я пытаюсь создать программу, которая рисует пять шаров на моем экране, используя модуль turtle в python.Я пытаюсь использовать как можно меньше строчек кода, но теперь у меня ошибка атрибута, которую я не понимаю.

import turtle
import random

class turtles:
    def __init__(self):
        self.turtle.Pen()
        self.color(random.randint(0.0, 1.0),random.randint(0.0, 1.0) ,random.randint(0.0, 1.0))
        self.begin_fill()
        self.circle(50)
        self.end_fill()

t1= turtles()

def t1_circle():
    t1.left(90)
    t1.forward(250)
    mycircle(random.randint(0.0, 1.0),random.randint(0.0, 1.0) ,random.randint(0.0, 1.0))

t1_circle()

Я ожидал, что на экране будет нарисован шарик, отображающий случайные цвета.

Ответы [ 2 ]

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

Я пытаюсь создать программу, которая рисует пять шаров на моем экране, используя модуль turtle в python.Я пытаюсь использовать как можно меньше строчек кода ...

from turtle import *
from random import *

WIDTH, HEIGHT = getscreen().window_width() // 2, getscreen().window_height() // 2

penup()

for _ in range(5):
    goto(randrange(50 - WIDTH, WIDTH - 50), randrange(50 - HEIGHT, HEIGHT - 50))
    dot(100, (random(), random(), random()))

done()

Для заполненного круга команда dot() имеет некоторые преимущества.Это всегда заполненный круг, поэтому нет begin_fill() и end_fill().Вы можете передать цвет прямо в функцию dot().Он печатает окружность с заданным диаметром (не радиус ) по центру на черепахе (не с черепахой на кромке как circle().

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

Вы получаете эту ошибку, потому что классные черепахи не имеют атрибута "черепаха".Когда вы указываете self.turtle, python ожидает атрибут с именем turlte, определенный в классе turtles.Вы можете прочитать больше об этом здесь

Я ожидал, что на экране будет нарисован шар, отображающий случайные цвета.

Здесь я просто сделаювышеупомянутый.Вы меняете код в соответствии с вашими требованиями.

import turtle
import random

class turtles:
    def __init__(self):
        turtle.Pen()
        turtle.color(random.randint(0.0, 1.0),random.randint(0.0, 1.0) ,random.randint(0.0, 1.0))
        turtle.begin_fill()
        turtle.circle(50)
        turtle.end_fill()

while True:
    t1= turtles()
...