Schleife nach bestimmter Zeit abbrechen

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • sers Leute,
    ich habe vor einen LED-CUBE zu bauen. Erstmal nur 5*5*5 und nur in einer Farbe.
    Dabei habe ich aber eine grundlegende Frage zum multiplexen, bzw. wie macht ihr das.

    Wie kann ich eine Schleife nach einer bestimmten Zeit abbrechen?!
    Eignet sich dazu ein while- oder ein for-loop besser?!

    Hoffe ihr könnt mir helfen und schon mal danke im voraus.
    Leo0608

  • Hallo,

    Wenn der Intervall >= 1 Sekunde ist, würde ich die Unixzeit nehmen:

    Beispiel:

  • also der Intervall ist deutlich kleiner als eine Sekunde, da es ja hierbei ums multiplexen geht. Das heißt ich möchte für 0,2 sekunden mein Multiplex-Muster abrufen. Es handelt sich also nicht direkt um eine zählbare Einheit sondern in diesem Fall wirklich um sekunden. Man könnte zwar ausrechnen, wie viele Durchgänge benötigt werden, um die gewünschte Zeit zu erreichen. Das wäre allerdings viel zu aufwendig.
    Meine Frage lautet also eher:
    Wie muss ich die Bedingung einer while-Schleife formulieren, dass ich eine Zeitvorgabe als Bedingung verwenden kann?

    Einmal editiert, zuletzt von Leo0608 (26. Januar 2015 um 13:11)

  • Da du den Thread mit Python erstellt hast, möchtest du auch ein Python Script oder nicht? @julian92's Script ist aber bash :fies:

    Also generell kannst du eine Schleife unterbrechen indem du dessen Bedingung änderst.
    Beispiel:
    [code=php]running = True
    while running:
    print "bla"
    running = False[/php]
    Die Schleife wird also nur ein mal durchlaufen, da am Ende die while nicht mehr True ist sondern False.

    Was du jetzt aber wegen "multiplexer" möchtest versteh ich nicht :huh:

    Was ist das Ziel?

  • multiplexen bezieht sich auf den LED-Cube.

    while [2 Sekunden]:
    blabla
    time.sleep(0.1)
    blub

    Hier jetzt nur als Beispiel

    ps: wie kann man richtig formatierten Code in den Beitrag einfügen

    Einmal editiert, zuletzt von Leo0608 (26. Januar 2015 um 13:54)

  • mein code steht oben. Ich möchte nach 2 Sekunden(jetzt nur ein Beispiel) eine Schleife abbrechen. Später kann diese Zeit auch noch durch eine Variable ersetzt werden.

    • Offizieller Beitrag

    Diesen Haufen Elend von einem Code hab ich gar nicht gesehen. Code/php tags rocken

    [code=php]
    import time
    timeout_start = time.time()
    timeout = 2 # [seconds]
    while time.time() < timeout_start + timeout:
    #mach was in der zeit[/php]


  • Diesen Haufen Elend von einem Code hab ich gar nicht gesehen. Code/php tags rocken

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!