La conversion n-uplet d'entiers

J'ai cette fonction python qui prend 2 arguments (chaîne , dictionnaire) et renvoie un float. La fonction est conçue pour prendre la moyenne des nombres entiers à l'intérieur d'un dicionary des scores et des cordes.

def happiness_score(string, dic):
   keys = string.lower().split()
   v = sum(dic[key] for key in keys)
   return float(v)/len(keys)

J'ai ce cas de test qui fonctionne:

print happiness_score("a b" , {"a":(1.2) , "b":(3.4)})
>>> 2.3

J'ai aussi un cas de test avec les tuples:

print happiness_score("a b" , {"a":(1,2) , "b":(3,4)})

Comment puis-je modifier mon code pour que je puisse convertir tout n-uplet d'entiers, de sorte que je peux encore exécuter mon programme?

  • Qu'entendez-vous par convertir un tuple à un nombre entier? Voulez-vous dire de la somme des composants du tuple? Pensez-vous réellement dire convertir un tuple à un flotteur (devrait (1,2) devenir 1.2)?
  • Exactement comment voulez-vous convertir un n-uplet (une collection de valeurs) pour un entier (strictement une valeur)?
InformationsquelleAutor Bobby V | 2012-10-19