Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
First solution in Uncategorized category for Moria Doors by TovarischZhukov
def getcoeff(w1, w2):
retval=0
if w1[0]==w2[0]:
retval+=10
if w1[-1]==w2[-1]:
retval+=10
lw1=len(w1)
lw2=len(w2)
if lw1<=lw2:
retval+=30*lw1/float(lw2)
else:
retval+=30*lw2/float(lw1)
comm=len(set(w1).intersection(set(w2)))
unic=len(set(w1).union(set(w2)))
retval+=50*comm/float(unic)
return retval
def find_word(message):
message=[val for val in message.lower().replace(",", " ").replace(".", " ").split(" ") if val]
retval=[]
for i, elem in enumerate(message):
coeffs=[]
for j, val in enumerate(message):
if j != i:
coeffs.append(getcoeff(elem, val))
retval.append((elem,round(sum(coeffs)/float(len(message)-1),3)))
return max(retval[::-1], key=lambda x: x[1])[0]
Dec. 27, 2015