Ausgabeproblem bei Klassen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
stringmaster9000
User
Beiträge: 3
Registriert: Dienstag 9. Januar 2018, 14:28

class A:
def __init__ (self,a,b):
self.ws=[]
for i in range (1,b+1):
self.ws.append(a*i)
def __str__(self):
return "Lösung:" + str(self.ws)

class B:
def __init__ (self,n,m):
self.a=[]
z=n+1
while n > 0 :
self.a.append(A(z-n,m))
n -=1
def __str__(self):
return "Ergebnis: " + str(self.a)


#Hauptprogramm

p=3
q=4
b33 = B(p,q)
print(b33)


Die Liste der Klasse a wird gut lesbar ausgegeben, allerdings kommt bei der Ausgabe der Klasse b nur folgendes Ergebnis:Ergebnis: [<__main__.A object at 0x000000D6E8297358>, <__main__.A object at 0x000000D6E8297390>, <__main__.A object at 0x000000D6E82973C8>]
Weiß jemand, was ich ändern muss, damit auch B wie A vernünftig lesbar ausgegeben wird?

Danke schon mal im Voraus
Zuletzt geändert von stringmaster9000 am Dienstag 9. Januar 2018, 14:42, insgesamt 1-mal geändert.
__deets__
User
Beiträge: 14539
Registriert: Mittwoch 14. Oktober 2015, 14:29

Bitte verwende Code Tags, dein Code ist sonst entstellt und unlesbar.

Für eine solche Darstellung musst du auf __repr__ statt __str__ setzen.
Antworten