Discuss / Python / 第三题

第三题

Topic source

longtometosee

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

# 第三题,

from functools import reduce

def str2float(s):

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

    def char2int(s): # s为key

        return DIGITS[s] # 生成value

    return reduce(lambda x,y:x*10+y,map(char2int,s[:s.index('.')]))+reduce(lambda x,y:x*10+y,map(char2int,s[s.index('.')+1:]))/(10**len(s[s.index('.')+1:]))

print(str2float('63377.3789876789876') )


  • 1

Reply