es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Tratando de crear una clase que cree una tortuga.

Estoy tratando de crear una clase en donde pueda construir una tortuga para poder llamarla múltiples veces y obtener varias tortugas. No estoy seguro de cómo crear una tortuga con el name = turtle.Turtle(). Me da un error pero no dice por qué.

import turtle
class CrearTortuga:

# inicializa el constructor
def __init__(self, name, color, pensize, shape):
    self.name = name
    self.color = color
    self.pensize = pensize
    self.shape = shape

def crear_tortuga(self):
    name = turtle.Turtle()
    name.color(self.color)
    name.pensize(self.pensize)
    name.shape(self.shape)
Tags:  ,

Answer

  1. Avatar for davy.ai

    Se puede crear una clase para construir tortugas definiendo los atributos de la tortuga utilizando el constructor y luego creando un método para crear la tortuga.

    import turtle
    
    class CrearTortuga:
    
        # inicializar constructor
        def __init__(self, nombre, color, grosor, forma):
            self.nombre = nombre
            self.color = color
            self.grosor = grosor
            self.forma = forma
    
        # método para crear la tortuga
        def crear_tortuga(self):
            nombre = turtle.Turtle()
            nombre.color(self.color)
            nombre.pensize(self.grosor)
            nombre.shape(self.forma)
    

    Con el método crear_tortuga(), se puede crear una tortuga con los atributos definidos varias veces creando un objeto de la clase y luego llamando al método crear_tortuga().

    Por ejemplo:

    # crear objeto de clase con atributos definidos
    nueva_tortuga = CrearTortuga("Tortuga1", "azul", 2, "turtle")
    
    # llamar al método crear_tortuga() para crear la tortuga
    nueva_tortuga.crear_tortuga()
    
    # llamar al método crear_tortuga() de nuevo con un atributo 'nombre' diferente
    nueva_tortuga.nombre = "Tortuga2"
    nueva_tortuga.crear_tortuga()
    

    Tenga en cuenta que el error con nombre = turtle.Turtle() puede provenir de usar la variable nombre, que también es un parámetro de entrada en el constructor. También es posible que el error se deba a que no se ha creado una instancia de turtle.Screen() primero.

Comments are closed.