Python – Utilisation d’une exception dans une boucle complexe

soit un tableau de dimension 3, nommé XYZ.
On écrira le code suivant pour trouver un point nommé pt dans le tableau XYZ.

pt = [ 12, 10, 66]
isFound = False
for i in range(len(XYZ)):
  for j in range(len(XYZ[i])):
    for k in range(len(XYZ[j])):
      if XYZ[i][j][k] == pt:
        isFound = True
          break
    if isFound:
      break
  if isFound:
    break
 
if isFound:
  # found !
  pass
else:
  # no found
  pass

En utilisant une exception, on pourra réaliser un code plus lisible :

class isFoundException(Exception): 
  pass
 
pt = [ 12, 10, 66]
isFound = False
try:
  for i in range(len(XYZ)):
    for j in range(len(XYZ[i])):
      for k in range(len(XYZ[j])):
        if XYZ[i][j][k] == pt:
          raise isFoundException
 
except isFoundException:
  # found !
  pass
else:
  # no found
  pass
Fermer le menu