猿问

这是将字符串转化为浮点数的代码:point有什么作用,其中的f,n是干什么用的

from functools import reduce

CHAR_TO_FLOAT = {

    '0': 0,

    '1': 1,

    '2': 2,

    '3': 3,

    '4': 4,

    '5': 5,

    '6': 6,

    '7': 7,

    '8': 8,

    '9': 9,

    '.': -1

}


def str2float(s):

    nums = map(lambda ch: CHAR_TO_FLOAT[ch], s)

    point = 0

    def to_float(f, n):

        nonlocal point

        if n == -1:

            point = 1

            return f

        if point == 0:

            return f * 10 + n

        else:

            point = point * 10

            return f + n / point

    return reduce(to_float, nums, 0.0)


print(str2float('123.456'))

print(str2float('123.45600'))



xiaoxiaomengmeng
浏览 2083回答 1
1回答
随时随地看视频慕课网APP

相关分类

Python
我要回答