Seite 1 von 1

Binary Clock

Verfasst: Freitag 4. November 2005, 21:58
von mawe
Hi!

Mal wieder ganz was wichtiges von mir :) Eine binäre Uhr:

Code: Alles auswählen

from Tkinter import *
import time

def get_time_array():
    l = []
    for i in time.localtime()[3:6]:
        for j in "%02i" % i:
            l.append(int(j))
    return l

def tick():
    bits = [1,2,4,8]
    t = get_time_array()
    for x in range(6):
        for y in range(4):
            y1 = 3-y
            if (t[x] & bits[y]) == 0: color = "blue"
            else: color = "red"
            c.itemconfigure("%s-%s" % (x,y1), fill=color)

def create_clock(event=None):
    c.delete("all")
    offset = 3
    size_x = c.winfo_width() / 6 - offset
    size_y = c.winfo_height() / 4 - offset -1
    for x in range(6):
        for y in range(4):
            c.create_oval(
                    x*(size_x+offset)+offset,
                    y*(size_y+offset)+offset,
                    x*(size_x+offset)+offset+size_x,
                    y*(size_y+offset)+offset+size_y,
                    fill="blue",tags="%s-%s" % (x,y))

root = Tk()
c = Canvas(width=200, height=150, bg="black")
c.pack(fill=BOTH, expand=1)
c.bind("<Configure>", create_clock)

create_clock()

while 1:
    tick()
    root.update()
    time.sleep(1)

root.mainloop()
Wer nicht weiss wie man sie abliest:
Die Spalten sind von links nach rechts: 2 für die Stunden, 2 für die Minuten und 2 für ... na? :)
Die Zeilen von unten nach oben haben die folgenden Werte: 1, 2, 4, 8
Einfach die Zahlenwerte der roten Punkte zusammenzählen (jeweils für Stunden, Min.. ) und man hat die Uhrzeit.
Alles klar? Viel Spass damit :)

Gruß, mawe

Verfasst: Montag 7. November 2005, 10:13
von N317V
Danke schön! So ist Angeberei richtig preiswert. ;-) Die Uhren sind ja nicht gerade billig.

Einmal ist immer das erste Mal.

Verfasst: Dienstag 6. Dezember 2005, 03:30
von mangrove
Hallo mawe,

das ist die erste Antwort, die ich je in einem Forum geschrieben habe. Außerdem war es ein Erfolgserlebnis für mich, daß ich die Uhr zum Laufen gebracht habe. Als unbedarfter User erwartet man ja immer eine EXE, die man mit Draufklicken zum Laufen bringen kann. Und ein Fenster mit einem „graphischen” Erscheinungsbild. Für jemand, der gewohnt ist, daß alles mit Anklicken funktioniert (Anwendungen) oder in einem Browser läuft (HTML), fehlt bei Python am Anfang erst mal bißchen der Boden unter den Füßen. Da macht eine solche Uhr Mut.

Ich bin eben ein Anfänger. Hatte letztes Jahr schon mal angefangen. Lese gerade „Einführung in Python” (Lutz & Ascher, Verlag O'Reilly).

Viele Grüße,

mangrove