DIGITS= {'0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9}
#小数点前转化为数字
def fn(x,y):
return x*10+y
#小数点后转化为数字
def fs(x,y):
return x*0.1+y
#获取小数点位置以此将str分割成两部分,小数点前的部分用fn算,小数点后的部分用fs算
n=s.index('.')
#定义字符转数字函数
def char2num(s):
return DIGITS[s]
#s1是小数点前的数字
s1=s[:n]
#s2是小数点后的数字
s2=s[-n:]
#s3是小数点后的数字顺序变化再加0
s3=s2[::-1]+'0'
return reduce(fn,map(char2num,s1))+reduce(fs,map(char2num,s3))
Sign in to make a reply
源来我就是瑟瑟
DIGITS= {'0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9}
#小数点前转化为数字
def fn(x,y):
return x*10+y
#小数点后转化为数字
def fs(x,y):
return x*0.1+y
#获取小数点位置以此将str分割成两部分,小数点前的部分用fn算,小数点后的部分用fs算
n=s.index('.')
#定义字符转数字函数
def char2num(s):
return DIGITS[s]
#s1是小数点前的数字
s1=s[:n]
#s2是小数点后的数字
s2=s[-n:]
#s3是小数点后的数字顺序变化再加0
s3=s2[::-1]+'0'
return reduce(fn,map(char2num,s1))+reduce(fs,map(char2num,s3))