Seite 1 von 1

Zum anfang eines Codes zurückspringen

Verfasst: Samstag 13. Juli 2019, 19:23
von Lalay
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?

Re: Zum anfang eines Codes zurückspringen

Verfasst: Samstag 13. Juli 2019, 19:24
von __deets__
Mit einer Schleife.

Re: Zum anfang eines Codes zurückspringen

Verfasst: Samstag 13. Juli 2019, 19:27
von Lalay

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

Re: Zum anfang eines Codes zurückspringen

Verfasst: Samstag 13. Juli 2019, 19:31
von __blackjack__
@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)

Re: Zum anfang eines Codes zurückspringen

Verfasst: Samstag 13. Juli 2019, 19:32
von __deets__
Na halt mit NOCH einer Schleife, die die Funktion aufruft. Du darfst davon so viele verwenden wie du magst.

Re: Zum anfang eines Codes zurückspringen

Verfasst: Samstag 13. Juli 2019, 20:03
von kbr
@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)