Zum anfang eines Codes zurückspringen

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
Lalay
User
Beiträge: 9
Registriert: Freitag 12. Juli 2019, 11:26

Hey ich möchte einen loop programmieren der solange sucht, bis er ein bestimmtes bild gefunden hat, das habe ich geschafft jedoch sobald das bild gefunden wurde, ist der Code fertig. Ich möchte jedoch das er dann wieder von vorne anfängt wie mache ich das?
Zuletzt geändert von Lalay am Samstag 13. Juli 2019, 19:24, insgesamt 1-mal geändert.
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

Mit einer Schleife.
Lalay
User
Beiträge: 9
Registriert: Freitag 12. Juli 2019, 11:26

Code: Alles auswählen

def imagesearch_loop(image, timesample, precision=0.8):
    pos = imagesearch(image, precision)
    while pos[0] == -1:
        print(image+" nicht gefunden, suchen..")
        time.sleep(timesample)
        pos = imagesearch(image, precision)
    return pos

das ist meine schleife doch wie mach ich es das das Programm automatisch von vorne anfängt
Benutzeravatar
__blackjack__
User
Beiträge: 14019
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@Lalay: Das fängt nicht automatisch wieder von vorne an – Du musst eine Schleife schreiben die das was wiederholt werden soll, eben wiederholt.

Die vorhandene Schleife würde man übrigens anders schreiben: als ”Endlosschleife” die dann verlassen wird, wenn die umgekehrte Bedingung nach dem Suchen erfüllt ist. Dann braucht man den Code für das Aufrufen der Bildsuchfunktion nur einmal schreiben und nicht wie hier zweimal.

Code: Alles auswählen

def imagesearch_loop(image, timesample, precision=0.8):
    while True:
        pos = imagesearch(image, precision)
        if pos[0] != -1:
            return pos
        print(image, 'nicht gefunden, suchen..')
        time.sleep(timesample)
Zuletzt geändert von __blackjack__ am Samstag 13. Juli 2019, 19:34, insgesamt 1-mal geändert.
“The best book on programming for the layman is »Alice in Wonderland«; but that's because it's the best book on anything for the layman.” — Alan J. Perlis
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

Na halt mit NOCH einer Schleife, die die Funktion aufruft. Du darfst davon so viele verwenden wie du magst.
Benutzeravatar
kbr
User
Beiträge: 1506
Registriert: Mittwoch 15. Oktober 2008, 09:27

@Lalay: Auch auf die Gefahr hin, dass es schon von allen gesagt wurde, nur noch nicht von mir: schreib in etwa so was wie:

Code: Alles auswählen

while True:
    Imagesearch_loop(image, timesample)
Antworten