ich bin dabei mir rein hobbymäßig Python beizubringen und gleichzeitig auch meinem Sohn einen Einstieg ins programmieren zu zeigen.
Bei einer Sache stehe ich jetzt aber an: Warum liefert die Funktionen den veränderten Wert von anzahl nicht?
Zur Veranschaulichung mal das ganze Programm auf's notwendigste gekürzt.
Code: Alles auswählen
liste =[['.','.'] , ['.','.']]
anzahl = 0
def listemod(anzahl):
liste[0][1] = 'X'
anzahl += 1
print('anzahl (inside):',anzahl)
return anzahl
# main
print('Liste vorher:', liste)
print('anzahl (outside):',anzahl)
listemod(anzahl)
print('Liste nachher:', liste)
print('anzahl (outside):',anzahl)
Code: Alles auswählen
>>>
Liste vorher: [['.', '.'], ['.', '.']]
anzahl (outside): 0
anzahl (inside): 1
Liste nachher: [['.', 'X'], ['.', '.']]
anzahl (outside): 0
>>>
Was ist falsch oder besser wie gehts richtig?