Discuss / Python / 第三题作业,不确定是不是写的有点傻

第三题作业,不确定是不是写的有点傻

Topic source

蓬蓬哇

#1 Created at ... [Delete] [Delete and Lock User]

def str2float(s):

    n=s.index('.')

    s1=list(map(int,s[:n]))

    s2=list(map(int,s[n+1:]))

    def fn1(x,y):

        return x*10+y

    return reduce(fn1,s1)+reduce(fn1,s2)*0.1**len(s2)

蓬蓬哇

#2 Created at ... [Delete] [Delete and Lock User]

第二种写法

def str2float(s):

    n=s.index('.')

    s1=list(map(int,s[:n]))

    s2=list(map(int,s[n+1:]))

    s3=s2[::-1]

    s3.append(0)

    def fn1(x,y):

        return x*10+y

    def fn2(x,y):

        return x/10+y

    return reduce(fn1,s1)+reduce(fn2,s3)


  • 1

Reply