Discuss / Python / 交作业

交作业

Topic source

感觉这个思路比切片好理解,当然代码会略多一点。 (还没写检验浮点数的,有要求的话加个if判断一下就好。)

def str2float(s):
    n = s.index('.')
    s = s.replace('.', '')
    def char2num(s):
        return {'0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9}[s]
    def str2int(s):
        return reduce(lambda x, y: x * 10 + y, map(char2num, s))
    return str2int(s) / (10 ** n )

  • 1

Reply