Discuss / Python / 第三题

第三题

Topic source

digits = {'0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9}

def str2float(s):

    t=len(s)

    def char2num(s):

        return digits[s]

    def fn(x,y):

        return x*10+y

    if isinstance(s,str):

        for i in range(len(s)):

            if s[i]=='.':

             t=i

        s1=s[:t]

        s2=s[t+1:]

        return reduce(fn,map(char2num,s1))+reduce(fn,map(char2num,s2))*10**-len(s2)

    else:

        return '请输入字符串类型'


  • 1

Reply