critics={'Lisa Rose': {'Superman Returns': 3.5, 'You, Me and Dupree': 2.5, 'The Night Listener': 3.0},
'Gene Seymour': {'Superman Returns': 5.0, 'The Night Listener': 3.5, 'You, Me and Dupree': 3.5}}
def prepare_for_tanimoto(critics_arr):
arr = critics_arr.copy()
for critic in arr:
for film in arr[critic]:
if arr[critic][film] < 3:
arr[critic][film] = 0
else:
arr[critic][film] = 1
return arr
def tanimoto(critics_arr, critic1, critic2):
arr = prepare_for_tanimoto(critics_arr)
a = len(arr[critic1])
b = len(arr[critic2])
c = 0.0
for film in arr[critic1]:
if arr[critic1][film] == arr[critic2][film]:
c = c + 1
koef = c / (a + b - c)
return koef
print tanimoto(critics, 'Gene Seymour', 'Lisa Rose')