J'essaye d'écrire un programme pour trouver une paire de nombres pour une somme particulière. Il utilise un dictionnaire pour stocker les numéros et trouver la paire en conséquence. Le code est le suivant:KeyError utilisant le dictionnaire en Python
def printpairs(A, arr_size, sum):
hash = {}
for i in A:
hash[i] = None
for i in range(0,arr_size):
temp = sum - A[i]
if (temp >= 0 and hash[temp] == 1):
print sum, A[i], temp
hash[A[i]] = 1
A = [1,4,45,6,10,8]
printpairs(A, 6, 16)
Je reçois l'erreur:
Keyerror : 15
Je ne reçois pas où je me trompe.
S'il vous plaît toujours après tracebacks plein – Alik
Vous n'avez pas besoin passer dans 'arr_size'; vous pouvez faire 'arr_size = len (A)' si vous en avez besoin. Mais vous n'en avez pas besoin; vous pouvez itérer directement sur 'A'. En outre, il est recommandé de ne pas utiliser sum et d'autres noms de built-ins comme noms de variables. – Cyphase