Random X in tabelle

Fragen zu Tkinter.
Antworten
zero hoe
User
Beiträge: 1
Registriert: Mittwoch 1. September 2021, 20:02

guten abend!
Ich habe grade die aufgabe eine tabelle 10x10 zu erstellen jedesmall soll 4mal ein x in eine kachel.
ich hab schon viel dazu gesucht aber nix gefunden. bin sehr neu in python also komme ich hier alleine nt weiter
[code
from tkinter import *

root = Tk()

height = 10
width = 10
for i in range(height):
for j in range(width):
b = Entry(root, text="")
b.grid(row=i, column=j)

mainloop()
[/code]
das ist mein vortschritt bisher
vielen dank im Vorraus!
Benutzeravatar
__blackjack__
User
Beiträge: 13004
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@zero hoe: Also zumindest mir ist nicht klar was das Ziel sein soll. Sollen 4 zufällige Eingabefelder von den 10 ein "x" enthalten? Oder eines "xxxx"?

Sternchen-Importe sind Böse™. Da holt man sich gerade bei `tkinter` fast 200 Namen ins Modul von denen nur ein kleiner Bruchteil verwendet wird. Auch Namen die gar nicht in `tkinter` definiert werden, sondern ihrerseits von woanders importiert werden. Das macht Programme unnötig unübersichtlicher und fehleranfälliger und es besteht die Gefahr von Namenskollisionen.

Auf Modulebene sollte nur Code stehen der Konstanten, Funktionen, und Klassen definiert. Das Hauptprogramm steht üblicherweise in einer Funktion die `main()` heisst.

Namen sollten nicht aus kryptischen Abkürzungen bestehen. `b` für ein `Entry`-Objekt? Wie kommt man darauf?

Code: Alles auswählen

#!/usr/bin/env python3
import tkinter as tk


def main():
    root = tk.Tk()

    height = 10
    width = 10
    for i in range(height):
        for j in range(width):
            tk.Entry(root, width=2).grid(row=i, column=j)

    root.mainloop()


if __name__ == "__main__":
    main()
“Most people find the concept of programming obvious, but the doing impossible.” — Alan J. Perlis
Antworten