3 votes

En Python, pourquoi ma boucle for exclut-elle le nombre précédant un nombre spécifique uniquement lorsque ce nombre est le dernier du tableau ?

Je travaille sur un problème de codingbat, et j'obtiens des résultats inattendus lorsque le numéro exclu se trouve à la fin du tableau.

def sum13(nums):
  a = []

  if len(nums) == 0:
    return 0
  for i in range(len(nums)):
    if nums[i] == 13 or nums[i-1] == 13:
      continue
    a.append(nums[i])

  return sum(a)

Le code doit ajouter tous les nombres du tableau à la liste a et retourner la somme, en excluant toutes les instances du nombre 13 et du nombre qui le suit immédiatement. Il fonctionne bien pour la plupart des tests, mais lorsque le tableau se termine par 13, il n'ajoute pas le nombre à l'index 0 à la liste, renvoyant un résultat erroné.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X