Gestoppte Zeit anzeigen auf einem LCD-Display

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
mr. gurke
User
Beiträge: 1
Registriert: Mittwoch 27. April 2022, 15:40

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")
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

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.
Sirius3
User
Beiträge: 18279
Registriert: Sonntag 21. Oktober 2012, 17:20

@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?
Antworten