Seite 1 von 1

In Funktion Variable schreiben auf die die Funktion angewendet wird.

Verfasst: Donnerstag 18. Juli 2019, 08:45
von Tombery
Guten Morgen.
Ich hab nun schon einiges gegoogelt aber leider fehlt mir wohl das Fachvokabular um anständig danach suchen zu können.

Ich will in einer Funktion den Namen einer Liste aufrufen und zwar genau den Namen der Liste auf den die Funktion angewendet wird.
Hier ein Beispiel, damit ihr wisst was ich meine.


Die Funktion wird im Hauptprogramm auf zum Beispiel auf P1 angewendet.
Im Hauptprogramm steht also: neuausspielen(P1, Ab, Lspieler)

Code: Alles auswählen

def neuausspielen(Hand, Ab, Lspieler):
    Ab.insert(0, max(Hand))
    Hand.remove(max(Hand))
    Lspieler.insert(0, [u]Hand)[/u]
    return
Die Zeile Lspieler.insert macht nun die Probleme. Hier ist das Hand sicher falsch.
Er soll nicht Hand oder wie die Hand definiert ist hineinschreiben sondern 'P1'.
Also den Namen der Liste auf den die Funktion angewendet wird.

In Lspieler sollte also 'P1' hinzugefügt werden.

Ich hoffe ihr versteht was ich meine.

Re: In Funktion Variable schreiben auf die die Funktion angewendet wird.

Verfasst: Donnerstag 18. Juli 2019, 09:15
von Sirius3
Das geht nicht, was soll da auch passieren, wenn man gar keine Variable angibt, sondern direkt einen Wert (bei Dir z.b. die 0 in insert)?

Das einfachst ist, Du übergibst den Namen des Spielers zusätzlich als Argument (name).

Code: Alles auswählen

 neuausspielen("P1", P1, Ab, Lspieler)
Übrigens, Du solltest dringend sprechende Variablennamen verwenden, keine Abkürzungen, keine kryptischen Nummern. Du tust die damit keinen Gefallen, weil nächste Woche mußt Du rätseln, was `Ab` den bedeutet.
Nach Konvention werden Variablennamen klein_mit_unterstrich geschrieben.

Re: In Funktion Variable schreiben auf die die Funktion angewendet wird.

Verfasst: Donnerstag 18. Juli 2019, 10:53
von Tombery
Ich werde meine Variablen umbenennen.


Finde ich schade, dass das nicht möglich ist aber der von dir vorgeschlagene Weg funktioniert auch.
Dankeschön!

Re: In Funktion Variable schreiben auf die die Funktion angewendet wird.

Verfasst: Freitag 30. August 2019, 16:47
von /me
Tombery hat geschrieben: Donnerstag 18. Juli 2019, 10:53 Finde ich schade, dass das nicht möglich ist aber der von dir vorgeschlagene Weg funktioniert auch.
Wenn erfahrene Entwickler ernsthaft Bedarf an so etwas sehen würden, dann hätte man in Python so eine Möglichkeit eingebaut.

Grundsätzlich sieht es für mich im Moment eher so aus, als ob dein Ansatz falsch wäre. Warum glaubst du den Variablennamen zu brauchen, den der aufrufende Code für den Parameter verwendet hat?