-1

我正在尝试使用 for 循环对列表进行排序和比较,但我不断收到错误消息:

排序(列表[str(y + 1)])
KeyError:'14454'

这是我的代码:

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()
4

1 回答 1

0

错误(解释)

KeyError: "14454"

表示密钥不存在。例如,如果我的 dict 是{"hi": "hi", "hello": "hello"},并且我尝试调用myDict["hiya"],它将返回KeyError: "hiya"

你该怎么办?

好吧,调试它。通过放置print(lista) 在循环之前(以避免控制台溢出),您可以看到其中的键lista并从那里找到您的代码解决方案!

于 2020-11-29T05:04:17.853 回答