Discuss / Python / 交作业

交作业

Topic source

🍉

#1 Created at ... [Delete] [Delete and Lock User]
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()函数得出小数点后面有几位数,然后求出结果

  • 1

Reply