Discuss / Python / 第三题

第三题

Topic source

Teresa委

#1 Created at ... [Delete] [Delete and Lock User]
from functools import reduce

def str2float(s):
    i=s.index('.')
    inter=s[0:i]
    deci=s[i+1:]
    num1=map(char2int,inter)
    num2=map(char2int,deci)
    return reduce(num2int,num1)+reduce(num2int,num2)*(10**(-len(deci))) # 次幂

def num2int(x,y):
    return 10*x+y

def char2int(s):
    digit={'0':0,'1':1,'2':2,'3':3,'4':4,'5':5,'6':6,'7':7,'8':8,'9':9}
    return digit[s]


  • 1

Reply