Discuss / Python / mark
def str2float(s):    digits = {'0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9}    def f(x):        return digits[x]    sa = s[:s.find('.')]    sb = s[s.find('.')+1:][::-1]    a = reduce(lambda x, y: x * 10 + y, map(f, sa))    b = reduce(lambda x, y: x * 0.1 + y, map(f, sb))    return a + b * 0.1

  • 1

Reply