Problem innerhalb Klasse mit Listen übergabe
Verfasst: Samstag 17. Oktober 2020, 19:30
Hallo.
Bin neu hier in diesem Forum.
Hoffe die Frage ist für die Profis hier nicht zu unsinnig, aber ich finde trotz google und co keine Erklärung die meine Denkblockade löst.
Ich habe folgendes Problem:
Ich habe eine Klasse deren Funktionen funktionieren wenn ich sie nicht in eine Klasse packe.
Ich möchte die Liste "kartendeck" von Methode 1 in der Methode 2 verwenden, aber trotz zahlloser versuche bin ich zu blöd dazu.
Bin kein Schüler der seine Hausaufgaben lösen möchte (wie es im Forum steht), sondern ein 37 Jähriger Messmaschinien Programmierer der das nebenbei lernen möchte.
Mein Programmieren am Arbeitsplatz hat aber nichts im entferntesten mit einer Programmiersprache wie Python zu tun. Das nur zur Info über mich.
Also erst mal der code den ich bis jetzt habe:
class Karten:
def karten_erstellen(self):
farben = ['Herz', 'Karo', 'Pik', 'Kreuz']
werte = ['7', '8', '9', '10', 'Bube', 'Dame', 'König', 'Ass']
kartendeck = []
for w in farben:
for y in werte:
z = str(w + ' ' + y)
kartendeck.append(z)
return kartendeck
def karten_zuweisen(self):
kartendeckcopy = kartendeck.copy()
z_ass = 1
z_7 = 7
z_8 = 8
z_9 = 9
z_10 = 10
for i in kartendeckcopy:
if '7' in i:
i_neu = i
i_neu = (i_neu, z_7)
kartendeck.append(i_neu)
kartendeck.remove(i)
for i in kartendeckcopy:
if '8' in i:
i_neu = i
i_neu = (i_neu, z_8)
kartendeck.append(i_neu)
kartendeck.remove(i)
for i in kartendeckcopy:
if '9' in i:
i_neu = i
i_neu = (i_neu, z_9)
kartendeck.append(i_neu)
kartendeck.remove(i)
for i in kartendeckcopy:
if '10' in i:
i_neu = i
i_neu = (i_neu, z_10)
kartendeck.append(i_neu)
kartendeck.remove(i)
for i in kartendeckcopy:
if 'Bube' in i:
i_neu = i
i_neu = (i_neu, z_10)
kartendeck.append(i_neu)
kartendeck.remove(i)
for i in kartendeckcopy:
if 'Dame' in i:
i_neu = i
i_neu = (i_neu, z_10)
kartendeck.append(i_neu)
kartendeck.remove(i)
for i in kartendeckcopy:
if 'König' in i:
i_neu = i
i_neu = (i_neu, z_10)
kartendeck.append(i_neu)
kartendeck.remove(i)
for i in kartendeckcopy:
if 'Ass' in i:
i_neu = i
i_neu = (i_neu, z_ass)
kartendeck.append(i_neu)
kartendeck.remove(i)
return kartendeck
def __init__(self):
karten = self.karten_zuweisen()
karten = Karten()
Wäre äußerst dankbar wenn mir jemand helfen könnte
Bin neu hier in diesem Forum.
Hoffe die Frage ist für die Profis hier nicht zu unsinnig, aber ich finde trotz google und co keine Erklärung die meine Denkblockade löst.
Ich habe folgendes Problem:
Ich habe eine Klasse deren Funktionen funktionieren wenn ich sie nicht in eine Klasse packe.
Ich möchte die Liste "kartendeck" von Methode 1 in der Methode 2 verwenden, aber trotz zahlloser versuche bin ich zu blöd dazu.
Bin kein Schüler der seine Hausaufgaben lösen möchte (wie es im Forum steht), sondern ein 37 Jähriger Messmaschinien Programmierer der das nebenbei lernen möchte.
Mein Programmieren am Arbeitsplatz hat aber nichts im entferntesten mit einer Programmiersprache wie Python zu tun. Das nur zur Info über mich.
Also erst mal der code den ich bis jetzt habe:
class Karten:
def karten_erstellen(self):
farben = ['Herz', 'Karo', 'Pik', 'Kreuz']
werte = ['7', '8', '9', '10', 'Bube', 'Dame', 'König', 'Ass']
kartendeck = []
for w in farben:
for y in werte:
z = str(w + ' ' + y)
kartendeck.append(z)
return kartendeck
def karten_zuweisen(self):
kartendeckcopy = kartendeck.copy()
z_ass = 1
z_7 = 7
z_8 = 8
z_9 = 9
z_10 = 10
for i in kartendeckcopy:
if '7' in i:
i_neu = i
i_neu = (i_neu, z_7)
kartendeck.append(i_neu)
kartendeck.remove(i)
for i in kartendeckcopy:
if '8' in i:
i_neu = i
i_neu = (i_neu, z_8)
kartendeck.append(i_neu)
kartendeck.remove(i)
for i in kartendeckcopy:
if '9' in i:
i_neu = i
i_neu = (i_neu, z_9)
kartendeck.append(i_neu)
kartendeck.remove(i)
for i in kartendeckcopy:
if '10' in i:
i_neu = i
i_neu = (i_neu, z_10)
kartendeck.append(i_neu)
kartendeck.remove(i)
for i in kartendeckcopy:
if 'Bube' in i:
i_neu = i
i_neu = (i_neu, z_10)
kartendeck.append(i_neu)
kartendeck.remove(i)
for i in kartendeckcopy:
if 'Dame' in i:
i_neu = i
i_neu = (i_neu, z_10)
kartendeck.append(i_neu)
kartendeck.remove(i)
for i in kartendeckcopy:
if 'König' in i:
i_neu = i
i_neu = (i_neu, z_10)
kartendeck.append(i_neu)
kartendeck.remove(i)
for i in kartendeckcopy:
if 'Ass' in i:
i_neu = i
i_neu = (i_neu, z_ass)
kartendeck.append(i_neu)
kartendeck.remove(i)
return kartendeck
def __init__(self):
karten = self.karten_zuweisen()
karten = Karten()
Wäre äußerst dankbar wenn mir jemand helfen könnte