所以我现在已经尝试了一段时间但是却无法让它发挥作用。如果您查看图片,您会看到x和y轴上有2个人,这两个人都是他们给电影的评分。问题是我如何计算这些与人之间的曼哈顿距离。
所以这就是我已经拥有的...... 的修改 我忘了说prefs是一个dict,人名作为键,第二个dict作为值。第二个dict包含电影作为键,评级为值..而person1和2只是名字的字符串,可在prefs中找到
def sum_manhattan(prefs,person1,person2):
"""Calculates the Manhattan distance between two critics"""
total = 0
##assume person1 is the x axes and person 2 is the y axes
x = prefs[person1]
y = prefs[person2]
for movie in x:
if movie in y:
total = abs(x[movie]-y[movie])
return total
欢迎任何帮助:)
答案 0 :(得分:1)
根据Alkini发布的链接,我说你应该替换
total = abs(x[movie]-y[movie])
与
total += abs(x[movie]-y[movie])
使事情有效。
您发布的代码是返回上一部电影评级之间差异的绝对值,而我认为您需要为所有电影添加评分差异。