Python

Tri et parcours d’un tableau en Python

sort avec reverse ou non et parcours d’un tableau.

→ Corrigé du Challenge : Le Sac de l’Aventurier #1

Code

def place_occupee(sac,objets):
    solution = 0
    objets.sort(reverse = True)
    
    for i in range(0,10):
        if (solution + objets[i]) > sac:
            break
        solution += objets[i]
        
    objets.sort()
    
    for i in range(0,10):
        if (solution + objets[i]) > sac:
            break
        solution += objets[i]
        
    return solution

Explications

  • Je commence par initialiser ma variable résultat à 0.
  • Je trie ensuite ma liste de façon décroissante (grâce à reverse = True) pour prendre les 10 objets les + gros.
  • Je prends maintenant les 10 premiers objets de la liste en vérifiant que l’ajout de cet objet ne fera pas dépasser la contenance du sac. Si c’est le cas j’ajoute un break pour finir la boucle.
  • Je trie cette fois les objets de façon croissante pour prendre les 10 objets les + petits. Puis je répète le même procédé.

Qui a codé ce superbe contenu ?


Ta newsletter chaque mois

Corrigés, challenges, actualités, veille technique... aucun spam.