0
J'impose mes fonctions définies et aucune erreur lors de l'exécution du programme. Le problème est que rien ne se passe réellement lorsque j'essaie d'appeler une fonction.Python - N'avoir aucune erreur mais aucune donnée de retour de toute façon
from math import sqrt
from recommendations import critics
def sim_distance(prefs, p1, p2):
si = {}
for item in prefs[p1]:
if item in prefs[p2]:
si[item] = 1
# If they have no ratings in common, return 0
if len(si) == 0:
return 0
# Add up the squares of all the differences
sum_of_squares = sum([pow(prefs[p1][item] - prefs[p2][item], 2) for item in prefs[p1] if item in prefs[p2]])
return 1/(1 + sqrt(sum_of_squares))
reload (recommendations)
sim_distance(critics, 'Jack Matthews', 'Toby')
Comment savez-vous que rien ne se passe? Votre code n'a pas de 'print's donc il pourrait faire sa chose et ensuite se terminer .... Quelle est votre sortie attendue? – roganjosh
Aussi, vous retournez quelque chose mais vous ne gardez pas la valeur que vous avez retournée. – MooingRawr