Discuss / Python / 第三题

第三题

Topic source

from functools import reduce

def str2float(s):

    l=list(s)  #将字符串里的数字字符划分为列表中的单个字符,方便迭代

    front=list(map(int,[x for x in l[0:l.index('.')]])) #提取小数点前的整数部分的数字

    behind=list(map(int,[x for x in l[l.index('.')+1:]]))#提取小数点后的整数部分的数字

    def large(x,y):

        res=x*10+y

        return res

    front=reduce(large,front)

    behind=reduce(large,behind)*10**(-len(behind))

    return front+behind


  • 1

Reply