Discuss / Python / reduce/map作业

reduce/map作业

Topic source

def str2float(s):

        digits = {'0': 0, '1': 1.0, '2': 2.0, '3': 3.0, '4': 4.0, '5': 5.0, '6': 6.0, '7': 7.0, '8': 8.0, '9': 9.0}

        def s2f(x):

            return digits[x]

        def ten(z,y):

            return z*10+y

        n=len(s)

        i=0

        while s[i]!='.':

             i=1+i

        s1=reduce(ten, map(s2f,s[:i]))

        s2=reduce(ten,map(s2f,s[i+1:n]))*0.1**len(s[i+1:n])

        return s1+s2


  • 1

Reply