Seite 1 von 1

Gestoppte Zeit anzeigen auf einem LCD-Display

Verfasst: Donnerstag 28. April 2022, 07:47
von mr. gurke
Hallo
Ich würde gerne eine Stoppuhr programmieren und die gemessene Zeit nachher auf einem LCD-Display anzeigen mit kürzeste Zeit und die jetzt gerade gestoppte Zeit wie ist das möglich. Ich bin noch ein Anfänger aber ein Kleines Programm für die Zeitmessung hab ich schon geschrieben:


fastes_lap=10



import time

def time_convert(sec):
mins = sec // 60
sec = sec % 60
hours = mins // 60
mins = mins % 60
print("Time Lapsed = {0}:{1}:{2}".format(int(hours), int(mins), sec))


input("Press Enter to start")
start_time = time.time()
input("Press Enter to stop")
end_time = time.time()
time_lapsed = end_time - start_time
time_convert(time_lapsed)
time_2=round(time_lapsed,1)
print(time_2,"Sekunden")



if fastes_lap>time_2:
fastes_lap=time_2

print("Schnellste Runde",fastes_lap,"Sekunden")

Re: Gestoppte Zeit anzeigen auf einem LCD-Display

Verfasst: Donnerstag 28. April 2022, 08:37
von __deets__
Wenn du das auf einem LCD machen willst, dann kommt es darauf an, was du fuer eine Hardware hast, an was die angeschlossen ist (Pi, Pico, ESP), etc pp.

Re: Gestoppte Zeit anzeigen auf einem LCD-Display

Verfasst: Donnerstag 28. April 2022, 09:25
von Sirius3
@mr. gurke: eingerückt wird in Python immer mit 4 Leerzeichen pro Ebene, nicht 2. Importe stehen ganz am Anfang der Datei.
Heutzutage benutzt man format-Strings zur Ausgabe. Bei einer Funktion time_convert würde ich erwarten, dass eine Zeit konvertiert wird und nicht formatiert ausgegeben wird. Funktionen sollten gute Namen haben, die das beschreiben, was die Funktion macht.
Das Hauptprogramm steht üblicherweise in einer Funktion, die `main` genannt wird.
Statt time.time nimmt man für Zeitmessungen time.monotonic.
Man rundet keine Zahlenwerte, sondern gibt die Anzahl der Dezimalstellen bei der Ausgabe an:

Code: Alles auswählen

import time

def output_time(seconds):
    minutes, seconds = divmod(seconds, 60)
    hours, minutes = divmod(int(minutes), 60)
    print(f"Time Lapsed = {hours}:{minutes}:{seconds:.2f}")


def main():
    fastes_lap = 10
    input("Press Enter to start")
    start_time = time.monotonic()
    input("Press Enter to stop")
    end_time = time.monotonic()
    time_elapsed = end_time - start_time
    output_time(time_elapsed)
    print(f"{time_elapsed:.1f} Sekunden")

    if fastes_lap > time_elapsed:
        fastes_lap = time_elapsed
    print(f"Schnellste Runde {fastes_lap:.1f} Sekunden")

if __name__ == "__main__":
    main()
Wo kommst Du nun konkret mit Deinem Programm nicht weiter?