Foros Python

Versión completa: Error a imprimir datos de una clase en pantalla
Actualmente estas viendo una versión simplificada de nuestro contenido. Ver la versión completa con el formato correcto.
Hola soy que este es un programa algo básico pero el error está en el cual no puedo imprimir los datos de la clase figura imprime silo imprime en consola que está existiendo esa clase. Pero no me imprime los datos que agrego o como puedo hacer para imprimirlos. Undecided Undecided Undecided Undecided Undecided Undecided Undecided


SALE ESTO ---<class '__main__.Figura'>
Código:
class Figura(object):
    def __init__(self,base,altura,lados,largo,ancho,perimetro):
     self.base =  base
     self.altura = altura
     self.lados = lados
    def __str__(self):
        return f"La area es\t {self.base*self.base}\n"

class Fig2d(Figura):
    perimetro = ""
    largo = ""
    ancho = ""

    def __str__(self):
        return f"El perimetro es \t\t{self.perimetro}\n"\


class Fig3d(Fig2d):
    PI=""
    DiagM= ""
    DiaGm= ""

    def __str__(self):
        return  f"El perimetro es \t\t{self.perimetro}\n"\
                f"La Diagonal mayor es {self.DiagM}\n"\
                f"La Diagonal menor es {self.DiagM}\n"\


Figura1= Figura
Figura1.base=input ('Dame la medida de la base')
print(Figura1)
Hola. Tu functión __str__() está bien, el problema radica en que esta línea:

Código:
Figura1 = Figura

debería ser:

Código:
Figura1 = Figura()

No obstante, eso va a arrojar un error porque en tu Figura.__init__() indicaste que requiere seis argumentos (base, altura, lados, largo, ancho, perimetro), por lo que deberías especificar sus valores al iniciar una instancia (self es provisto automáticamente por Python):

Código:
Figura1 = Figura(1, 2, 3, 4, 5, 6)

Te recomiendo este artículo sobre las clases en Python: https://recursospython.com/guias-y-manua...a-objetos/

Saludos