Seite 1 von 1

Re: Redundanzen vermeiden

Verfasst: Mittwoch 28. Oktober 2020, 11:37
von sparrow
Du hast aber nicht 3x den gleichen Button sondern 3x den selben Button in der Liste.
Und wenn du 3x den selben Button hast, dann kannst du dir die Liste auch sparen.

Wenn wir uns beide jeweils ein identisches Auto kaufen und damit jeweils zu unserem gemeinsamen Arbeitgeber fahren, dann werden unsere Kollegen feststellen, dass wir das gleiche Auto fahren.
Wenn wir beide eine Fahrgemeinschaft bilden, dann werden sie bemerken, dass wir im selben Auto ankommen.

Das ist hier sehr wichtig. Ich kann das selbe Objekt in 20 Listen stecken - oder in 20 verschiedene. Aber es bleibt ein Objekt. Es wird nicht magisch kopiert.
Du möchtest aber 3 verschiedene Buttons haben.

Re: Redundanzen vermeiden

Verfasst: Mittwoch 28. Oktober 2020, 11:37
von Jankie
Du sollst ja nicht das gleiche Objekt mehrfach in die Liste schreiben, du sollst drei verschiedene Instanzen des Buttons in die Liste schreiben, also es soll drei mal ein Button erzeugt werden. Es soll nicht einmal ein Button erzeugt werden und drei mal in eine Liste gepackt werden.

Vielleicht hilft dir das Snippet hier:

So machst du es im Moment:

Code: Alles auswählen

import random

random_number = random.randint(0,9)

numbers = []

for i in range(0,3):
    numbers.append(random_number)

print(numbers)
So sollte es sein:

Code: Alles auswählen

import random

numbers = []
for i in range(0,3):
    random_number = random.randint(0,9)
    numbers.append(random_number)

print(numbers)
Das kann mann dann noch kürzer als List comprehension schreiben:

Code: Alles auswählen

import random

numbers = [random.randint(0,9) for i in range(0,3)]

print(numbers)

Re: Redundanzen vermeiden

Verfasst: Mittwoch 28. Oktober 2020, 12:13
von Lou Cyphr3
okay dann macht natürlich auch der hint von sirius3 mehr Sinn

also sollte dann das zielführender sein, ja?

Code: Alles auswählen

from tkinter import Button

root = None

buttons = []

for button in range(0,3):
    answer_button = Button(root, text="", font=("Arial", 14), width=39 )
    buttons.append(answer_button)
        
print(buttons)

Re: Redundanzen vermeiden

Verfasst: Mittwoch 28. Oktober 2020, 13:00
von __deets__
Jupp. Wenn man es als reines Beispiel betrachtet. Anmerkungen zu Code auf Modul Ebene etc findest du ja vielfach.

Re: Redundanzen vermeiden

Verfasst: Mittwoch 28. Oktober 2020, 13:09
von Lou Cyphr3
sehr schön. vielen dank an alle!