from functools import reduce
def str2float(s):
b=l=[] #空list和变量
a=0
def fn(x,y): #整数序列变一个整数的函数
return x*10+y
for i in s: #调用a 储存s中小数点的位置
a+=1
if i == '.':
break
l=list(map(str,s)) #将s的每个数和小数点转为一个list
for z in l:
if z != '.': # 剔除小数点,然后变成一个整数序列
b.append(int(z))
s=reduce(fn,b) 将整数序列转为一个整数
return s*10**(-(len(l[a:]))) #切片和len()函数得出小数点后面有几位数,然后求出结果
🍉