Discuss / Python / 第三题

第三题

Topic source

lianwade3

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

!/usr/bin/env python3

-- coding: utf-8 --

from functools import reduce

def str2float(keys): return {'0':0, '1':1, '2':2, '3':3, '4':4, '5':5, '6':6, '7':7, '8':8, '9':9,'.':-1}[keys]

def fun(x, y): return x10+y s='123.456' s1,s2 = s.split('.') s3 = len(s2) print(s1,s2,s,s3) N=reduce(fun,map(str2float,s1+s2))/10*s3+1 print(N)

lianwade3

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

修改后:

!/usr/bin/env python3

-- coding: utf-8 --

from functools import reduce

def str2float(keys): return {'0':0, '1':1, '2':2, '3':3, '4':4, '5':5, '6':6, '7':7, '8':8, '9':9,'.':-1}[keys]

def fun(x, y): return x10+y s='1230.4567' s1,s2 = s.split('.') s3 = len(s2) print(s1,s2,s,s3) N=reduce(fun,map(str2float,s1+s2))/10*s3 print(N)


  • 1

Reply