Ich habe ein Uhrprogramm erstellt, das auf dem Terminal laufen sollte. aber wenn ich es starte, werden die Sekunden, Minuten und Stunden immer um 1 pro Sekunde erhöht.Python Clock Increment
Es sollte 60 die Sekunden jede Sekunde um 1 bis Sekunden erhöht nur erhöhen, dann die Minuten um 1 etc ..
Ich weiß nicht, warum es 1 gibt: 1: 1, dann 2: 2: 2 3 dann: 3: 3 etc ...
# Clock
import time
import sys
class Counter:
count = 0
name = ""
def __init__(self, name):
self.name = name
def Increment(self):
Counter.count += 1
def Reset(self):
Counter.count = 0
class Clock:
seconds = Counter("Seconds")
minutes = Counter("Minutes")
hours = Counter("Hours")
def Tick(self):
time.sleep(1)
Clock.seconds.Increment()
if Clock.seconds.count >= 60:
Clock.seconds.Reset()
Clock.minutes.Increment()
if Clock.minutes.count >= 60:
Clock.minutes.Reset()
Clock.hours.Increment()
if Clock.hours.count >= 12:
Clock.ResetClock()
def ResetClock(self):
Clock.seconds.Reset()
Clock.minutes.Reset()
Clock.hours.Reset()
def SetClock(self, seconds, minutes, hours):
self.hours = hours
self.minutes = minutes
self.seconds = seconds
def ReadClock(self):
sys.stdout.writelines(" \r Current Time: %d:%d:%d" % (Clock.hours.count, Clock.minutes.count, Clock.seconds.count))
clock = Clock()
while True:
clock.Tick()
clock.ReadClock()
Ausgezeichnet: statt der Klasse
sollten Sie haben
count
Teil der Instanz sein! Danke! ersten Tag mit Python, so verstehe ich es mehr und mehr jetzt danke! Ich akzeptiere Ihre Antwort in 6 Minuten, wenn es erlaubt. – Noob