Discuss / Python / 打卡

打卡

Topic source
def str2float(s):
    def char2num(s):
        digits = {'0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9,'.':-1}
        return digits[s]
    def f(x,y):
        if (y == -1):
            return x
        else:
            return x*10 + y
    sum = reduce(f,map(char2num,s))
    index_number = s.index('.')
    s_len=len(s)
    ten_exponential = s_len - index_number - 1
    sum = sum/(10**(ten_exponential))
    return sum

  • 1

Reply