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")
Gestoppte Zeit anzeigen auf einem LCD-Display
@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:
Wo kommst Du nun konkret mit Deinem Programm nicht weiter?
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()