# -*- coding:utf-8 -*-
from functools import reduce
def str2float(s):
dotidx = s.find('.') #查找输入字符串中'.'的索引值
snodt = s.replace('.','') #将'.'替换为空字符串
D = {'0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9}
def c2n(c):
return D[c]
def f(x,y):
return 10 * x + y
sum1 = reduce(f,map(c2n,snodt))
#以上步骤等同于str变换为int
sum2 = sum1 / (10**(len(snodt)-dotidx))
#将获取的整数除以相应的的幂次,幂次由输入的字符串中小数点索引值获取
return sum2
#感觉进入高级特性后自学起来就力不从心了,不知道和大学专业不学高数有没有关系,还是纯粹因为自己脑子已经跟不上了……
Sign in to make a reply
dudefitslol
# -*- coding:utf-8 -*-
from functools import reduce
def str2float(s):
dotidx = s.find('.') #查找输入字符串中'.'的索引值
snodt = s.replace('.','') #将'.'替换为空字符串
D = {'0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9}
def c2n(c):
return D[c]
def f(x,y):
return 10 * x + y
sum1 = reduce(f,map(c2n,snodt))
#以上步骤等同于str变换为int
sum2 = sum1 / (10**(len(snodt)-dotidx))
#将获取的整数除以相应的的幂次,幂次由输入的字符串中小数点索引值获取
return sum2
#感觉进入高级特性后自学起来就力不从心了,不知道和大学专业不学高数有没有关系,还是纯粹因为自己脑子已经跟不上了……