ich habe wieder mal eine Frage
mein Code sieht so aus:
Code: Alles auswählen
a = [11,22,33,44,55,66,77] #meine Liste
x = 36#int(input("x = "))
mitte = len(a)//2 #die Mitte soll der int in der Mitte der Liste sein
links = 0 #wird festgesetzt
rechts = len(a) #ist das größte/letzte Element
while True: #damit er mir wieder die Schleife durchläuft
if x == a[mitte]: #damit weiß ich ja schon, dass x drin ist und es passt.
break
else: #hier scheints die Probleme zu machen
if x > a[mitte]:
links = mitte
else:
rechts = mitte - 1
mitte = (links + rechts) // 2
if x == a[links] or x == a[rechts - 1]: #bei Werten höher als 77 kommt er in eine Endlosschleife
print (x,"ist drin")
break
if rechts == links: #funktioniert für einige, aber nicht alle Werte
print ("ist nicht drin", x)
break
Liebe Grüße