veränderbare Variablen

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
c.schroeder
User
Beiträge: 11
Registriert: Montag 18. Oktober 2021, 15:22

Hallo,

ich frage mich schon länger, ob man in Python veränderbare Variablen erstellen kann. Ich würde den untenstehenden Code gerne so programmieren, dass mehrere Eingabefelder erstellt werden und auf die Inhalte der Felder einzeln zugegriffen werden kann. Zu meinem Problem: der Code an sich funktioniert, es werden mehrere Felder erstellt, doch es kann mit " eingabefeld.get() " nur auf das letzte Eingabefeld zugegriffen werden.

Code: Alles auswählen

i = 0
while (anzahl) > i):

	eingabefeld = tk.Entry(fenster, bd=5, width=20)
	eingabefeld.grid(row=0+i, column=1)

i=i+1

Ich stelle mir den Code so oder so ähnlich vor:

Code: Alles auswählen

i = 0
while (anzahl) > i):

	eingabefeld(i) = tk.Entry(fenster, bd=5, width=20)
	eingabefeld(i).grid(row=0+i, column=1)

i=i+1

Ich freue mich über jede Hilfe!
Viele Grüße
Carlotta
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

Klar geht das. Aber dafür greift man üblicherweise zu Objekt-orientierter Programmierung. GUIs brauche das, sobald sie nicht trivial sind. Damit legst du dann zb deine Eingabefelder als Instanzvariablen an, und greifst auf die später zu.
Sirius3
User
Beiträge: 18278
Registriert: Sonntag 21. Oktober 2012, 17:20

@c.schroeder: was Du suchst, nennt sich Liste.
Die Klammern bei while stimmen nicht, die Einrückung stimmt nicht, und statt while benutzt man for:

Code: Alles auswählen

eingabefelder = []
for i in range(anzahl):
    entry = tk.Entry(fenster, bd=5, width=20):
    entry.grid(row=i, column=1)
    eingabefelder.append(entry)
c.schroeder
User
Beiträge: 11
Registriert: Montag 18. Oktober 2021, 15:22

@Sirius3: @__deets__:

Vielen Dank für die hilfreichen Antworten!
Antworten