Discuss / Python / 第三题打个卡

第三题打个卡

Topic source

Pklue

#1 Created at ... [Delete] [Delete and Lock User]

from functools import reduce

def str2float(s):

    b = s[:s.index('.')] + s[s.index('.')+1:]

    c= reduce(Cal, map(tran, b))

    return c / 10**s.index('.')

def Cal(x, y):

    return x * 10 + y

def tran(x):

    dict = {'0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9}

    return dict[x]

    return c / 10**s.index('.')

这句有问题。

改成  return c/10**(len(s)-s.index('.')-1) 即可


  • 1

Reply