Discuss / Python / 应该是第三题最短的

应该是第三题最短的

Topic source

def str2float(s):

    number = "".join(s.split('.'))

    return reduce(lambda x, y: x * 10 + y, map(int, number)) / 10 ** (len(number) - s.find('.') )

思路很棒,但真男人从不比短

def strfloat(s):

 number = s.replace('.','')

return int(number)/(10**(len(s)-1-s.find('.')))

完全和本节课无关

与本课无关的话明明可以这么写:

def strfloat(s):

return float(s)

这种方法没考虑不存在'.'的情况,需要过滤,否者以下输出会出错
print(str2float("100"))  # 输出:100.0

# 实际输出 0.01


  • 1

Reply