Aller au contenu

Liste dictionnaire⚓︎

Le refuge Wouaf_Miaou s'occupe de chats et de chiens pouvant être adoptés. Compléter la fonction selection_enclos afin de renvoyer la liste de noms d'animaux d'un même enclos. L'ordre de rangement des noms dans la liste n'a pas d'importance.

Exemples
🐍 Console Python
>>> Wouaf_Miaou = [
        {'nom':'Medor', 'espece':'chien', 'age':5, 'enclos':2},
        {'nom':'Titine', 'espece':'chat', 'age':2, 'enclos':5},
        {'nom':'Tom', 'espece':'chat', 'age':7, 'enclos':4},
        {'nom':'Belle', 'espece':'chien', 'age':6, 'enclos':3},
        {'nom':'Mirza', 'espece':'chat', 'age':6, 'enclos':5},
]
>>> sorted(selection_enclos(Wouaf_Miaou, 5))
['Mirza', 'Titine']
>>> selection_enclos(Wouaf_Miaou, 2)
['Medor']
>>> selection_enclos(Wouaf_Miaou, 7)
[]

Remarque

L'ordre de parcours d'un dictionnaire dans Python se fait dans un ordre arbitraire. On utilise sorted dans les tests pour que les éléments de la réponse soient forcément dans l'ordre alphabétique et ainsi pouvoir les comparer avec les résultats attendus.

###
# Testsbksl-nlbksl-nlWouafpy-undMiaou = [bksl-nl {"nom": "Medor", "espece": "chien", "age": 5, "enclos": 2},bksl-nl {"nom": "Titine", "espece": "chat", "age": 2, "enclos": 5},bksl-nl {"nom": "Tom", "espece": "chat", "age": 7, "enclos": 4},bksl-nl {"nom": "Belle", "espece": "chien", "age": 6, "enclos": 3},bksl-nl {"nom": "Mirza", "espece": "chat", "age": 6, "enclos": 5},bksl-nl]bksl-nlbksl-nlassert sorted(selectionpy-undenclos(Wouafpy-undMiaou, 5)) == ["Mirza", "Titine"]bksl-nlassert selectionpy-undenclos(Wouafpy-undMiaou, 2) == ["Medor"]bksl-nlassert selectionpy-undenclos(Wouafpy-undMiaou, 7) == []bksl-nlbksl-nl## Tests supplémentairesbksl-nlbksl-nlrefuge = [bksl-nl {"nom": "Rex", "espece": "chat", "age": 5, "enclos": 10},bksl-nl {"nom": "Molosse", "espece": "chat", "age": 1, "enclos": 11},bksl-nl {"nom": "Goloum", "espece": "chat", "age": 7, "enclos": 11},bksl-nl {"nom": "Domino", "espece": "chien", "age": 7, "enclos": 10},bksl-nl {"nom": "Fifille", "espece": "chien", "age": 8, "enclos": 10},bksl-nl {"nom": "Muche", "espece": "chat", "age": 4, "enclos": 13},bksl-nl]bksl-nlbksl-nlassert sorted(selectionpy-undenclos(refuge, 10)) == ["Domino", "Fifille", "Rex"]bksl-nlassert selectionpy-undenclos(refuge, 14) == []bksl-nlassert selectionpy-undenclos(refuge, 13) == ["Muche"]bksl-nlbksl-nl 5/5

def selectionpy-undenclos(refuge, numeropy-undenclos):bksl-nl noms = []bksl-nl for animal in refuge:bksl-nl if animal["enclos"] == ...:bksl-nl noms.append(...)bksl-nl return nomsbksl-nlbksl-nlbksl-nl# Testsbksl-nlbksl-nlWouafpy-undMiaou = [bksl-nl {"nom": "Medor", "espece": "chien", "age": 5, "enclos": 2},bksl-nl {"nom": "Titine", "espece": "chat", "age": 2, "enclos": 5},bksl-nl {"nom": "Tom", "espece": "chat", "age": 7, "enclos": 4},bksl-nl {"nom": "Belle", "espece": "chien", "age": 6, "enclos": 3},bksl-nl {"nom": "Mirza", "espece": "chat", "age": 6, "enclos": 5},bksl-nl]bksl-nlbksl-nlassert sorted(selectionpy-undenclos(Wouafpy-undMiaou, 5)) == ["Mirza", "Titine"]bksl-nlassert selectionpy-undenclos(Wouafpy-undMiaou, 2) == ["Medor"]bksl-nlassert selectionpy-undenclos(Wouafpy-undMiaou, 7) == []bksl-nlbksl-nldef selectionpy-undenclos(refuge, numeropy-undenclos):bksl-nl noms = []bksl-nl for animal in refuge:bksl-nl if animal["enclos"] == numeropy-undenclos:bksl-nl noms.append(animal["nom"])bksl-nl return nomsbksl-nlbksl-nl

A

Par compréhension⚓︎

🐍 Script Python
def selection_enclos(refuge, numero_enclos):
    return [ animal['nom'] for animal in refuge
                 if animal['enclos'] == numero_enclos ]

Z