Skip to content

Instantly share code, notes, and snippets.

@detobel36
Created January 6, 2018 16:48
Show Gist options
  • Save detobel36/6d8a917f5914ad5a6fa219841c7956a6 to your computer and use it in GitHub Desktop.
Save detobel36/6d8a917f5914ad5a6fa219841c7956a6 to your computer and use it in GitHub Desktop.
Programmation - 2013-2014-janvier - Solution - Ex8
# Fonction
def amis(bdd,nom,d):
result = []
if d == 0:
result.append(nom)
else:
for utilisateur in bdd[nom]:
result.append(utilisateur)
result += amis(bdd, utilisateur, d-1)
result_unique = set(result) # Permet de supprimer les doublons
return list(result_unique)
# Quelques tests (pas demandé dans l'énnoncé)
bddTest = {"Pierre" : ["Paul", "Luc", "Jacque"], "Jacque": ["Luc", "Paul"], "Adrien": ["Jacque"], "Arnaud" : [], "Paul": ["Luc"], "Luc": ["Adrien"]}
print("Adrien: (Résultat attendu: ['Jacque'])")
print(amis(bddTest, "Adrien", 1))
print("")
print("Arnaud: (Résultat attendu: [])")
print(amis(bddTest, "Arnaud", 2))
print("")
print("Pierre: (Résultat attendu: ['Paul', 'Luc', 'Jacque'])")
print(amis(bddTest, "Pierre", 1))
print("")
print("Pierre: (Résultat attendu: ['Paul', 'Adrien', 'Luc', 'Jacque']) ")
print(amis(bddTest, "Pierre", 2))
print("")
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment