Im Trying to sort and compare lists with a for loop, but I keep getting the error:
sorted(lista[str(y+1)])
KeyError: '14454'
Here's my code:
l = 0
k = 0
u = 0
lista = {}
sys.stdout = open("1.txt", "w")
for i in range(1,28):
for j in range(1,28):
for k in range(1,28):
a = float(i)
b = float(j)
c = float(k)
q = (a*b*c) / ((a+b+c)*(a+b+c)*(a+b+c))
if q > (1 / 81) and q < 1:
if a != b and b != c and c != a:
lista[str(l)] = [a,b,c]
l = l + 1
for x in range(l):
for y in range(l):
sorted(lista[str(x)])
sorted(lista[str(y+1)])
if lista[str(x)] == [str(y+1)]:
u = u + 1
sys.stdout.close()
The Error (Explained)
means that that the key is non-existent. For example, if my dict is
{"hi": "hi", "hello": "hello"}
, and I try callingmyDict["hiya"]
, it will returnKeyError: "hiya"
.What should you do?
Well, debug it. By placing
print(lista)
before the loop (to avoid the console being overflowed), you can see the keys oflista
and find your code solution from there!