我有这个带有2个参数(string,dictionary)并返回float的python函数。该函数旨在获取分数和字符串的整数中的平均值。
def happiness_score(string, dic):
keys = string.lower().split()
v = sum(dic[key] for key in keys)
return float(v)/len(keys)
我有这个有效的测试用例:
print happiness_score("a b" , {"a":(1.2) , "b":(3.4)})
>>> 2.3
我也有一个元组的测试用例:
print happiness_score("a b" , {"a":(1,2) , "b":(3,4)})
如何更改代码,以便可以将任何给定的元组转换为整数,以便仍然可以运行程序?
最佳答案
尝试使用我的忍者头脑阅读技巧来猜测您如何将元组转换为浮点数,也许您想要:
def tup2float(tup):
return float('.'.join(str(x) for x in tup))
这仅适用于2元组...
一些结果:
>>> tup2float((1,2))
1.2
>>> tup2float((2,3))
2.3
>>> tup2float((2,30))
2.3
>>> tup2float((2,32))
2.32