Discuss / Python / 第三题(没用到map)

第三题(没用到map)

Topic source

邱成成儿

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

思考: 首先得到小数点位于倒数第几位,并使n等于10的负相应次方,最后用转换出的整型数值乘n,获得答案。

from functools import reduce
def char2float(s):
    n=10**-(s[::-1].index('.'))
    return(n*reduce(lambda x,y:x*10+y,[int(a) for a in s if a is not '.']))

邱成成儿

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

更简一步:

from functools import reduce
def char2float(s):
    return((10**-s[::-1].index('.'))*reduce(lambda x,y:x*10+y,[int(a) for a in s if a is not '.']))

  • 1

Reply