[Python] Wie kann ich eine "while-schleife" in meiner "for-schleife" laufen lassen?
Ich möchte innerhalb meines for-loops eine while schleife laufen lassen.
Die While-Schleife soll solange ein Image suchen bis die if oder elif das Image gefunden hat und entweder mit der For-Schleife fortsetzen oder das Programm beenden.
z.B
import string
import pyautogui
lst_1 = list(string.ascii_uppercase)
lst_2 = [x for x in reversed(lst_1)]
combos = []
for x in range(0, len(lst_1)):
for y in range(0, len(lst_2)):
combos.append([lst_1[x],lst_2[y]])
# Jetzt komme ich zu meiner Frage.
for x in range(0, len(combos)):
print(f"{combos[x][0]}")
print(f"{combos[x][1]}")
while True:
if pyautogui.locateOnScreen("wrong.png") != None:
print("next")
# break while-loop, continue with for-loop
# while loop soll nach einem Image suchen,
# solange bis die if oder elif gefunden wurde.
elif pyautogui.locateOnScreen("right.png") != None:
exit()
# Wenn ein anderes bestimmtes Image lokalsiert wird,
# soll alles gestoppt werden.
Hat sich erledigt.
2 Antworten
Die Frage ist sehr spezifisch.
Auffallend ist, dass du eine Endlosschleife benutzt, da du die Schleifenbedingung auf True setzt. Wenn du das so haben möchtest, dann ist es okay.
Außerdem hast du bei deiner if-Verzweigung keinen default-case, also was passiert, wenn beide Bedingungen nicht zutreffen?
break bricht die Schleife ab.
Mit dem keyword 'break' mal probiert die While-Schleife zu verlassen?
ansonsten var machen die du mit der If-Abfrage auf false setzt.