Ich habe einen Kombinationsrechner erstellt, etwas, das mir schwer fällt. Ein Problem, das ich ständig zu beheben versuche, ist der Umgang mit Endlosschleifen in meinem Code.Programm läuft weiter - Endlosschleife
oglist = ["a","b","c","d"]
combocounter = 3
lists = {}
comboloop = True
combolist = ["lol"]
pendinglist = ["lol"]
for x in range(0, combocounter):
lists["list" + str(x)] = ["lol"]
def loop(counter1):
global recursion1
global recursion2
if len(lists["list" + str(counter1)]) == 0:
lists["list" + str(counter1 - 1)] = lists["list" + str(counter1 - 1)][1:]
print(lists)
recursion1 = True
recursion2 = True
else:
lists["list" + str(counter1 + 1)] = lists["list" + str(counter1)][1:]
print(lists)
recursion2 = False
return
def startingloop():
global recursion1
if len(lists["list0"]) == 0:
comboloop = False
else:
lists["list1"] = lists["list0"][1:]
print(lists)
recursion1 = False
return
def endingloop():
global counter2
global recursion2
if len(lists["list2"]) == 0:
lists["list1"] = lists["list1"][1:]
print(lists)
recursion2 = True
else:
combolist[counter2] = lists["list0"][0]
for y in range(1, combocounter):
combolist[counter2] = combolist[counter2] + lists["list" + str(y)][0]
combolist.append("lol")
lists["list2"] = lists["list2"][1:]
counter2 += 1
print(lists)
print(combolist)
return
lists["list0"] = oglist
counter2 = 0
while comboloop == True:
startingloop()
while recursion1 == False:
loop(1)
while recursion2 == False:
endingloop()
combolist.remove("lol")
print(combolist)
Ich habe eine Reihe von Druckfunktionen gelegt: print(lists)
und print(combolist)
. Wenn ich es ausführe, werden Listen und Combolist ständig aktualisiert und gedruckt. Es hört dann auf zu drucken, was erwartet wird, aber mein Programm läuft weiter. Es ist auch nie erreicht
combolist.remove("lol")
print(combolist)
ich durch die Anstrengungen der nach der Logik meines Codes gingen alle Probleme zu finden, aber ich tat es nicht. Was gibt es in meinem Code?