def normalize(name):
return name.capitalize()
from functools import reduce
def prod(L):
return reduce(lambda x,y:x*y,L)
用lambda就不用再定义一个两个数相乘的函数了
dic={'1':1,'2':2,'3':3,'4':4,'5':5,'6':6,'7':7,'8':8,'9':9,'0':0}
def str2float(s):
def char(s):
return dic[s]
m=0
for i in range(len(s)):
if s[i] =='.':
m=i
break
a = reduce(lambda x,y:x*10+y,map(char,s[:m]))
b = reduce(lambda x,y:x*0.1+y,map(char,s[:m:-1]))
return a+0.1*b
(后面三行可以改为
b = reduce(lambda x,y:x*10+y,map(char,s[m+1:]))*(0.1**len(s[m+1:]))
)
Sign in to make a reply
用户6534737704
def normalize(name):
return name.capitalize()
from functools import reduce
def prod(L):
return reduce(lambda x,y:x*y,L)
用lambda就不用再定义一个两个数相乘的函数了
from functools import reduce
dic={'1':1,'2':2,'3':3,'4':4,'5':5,'6':6,'7':7,'8':8,'9':9,'0':0}
def str2float(s):
def char(s):
return dic[s]
m=0
for i in range(len(s)):
if s[i] =='.':
m=i
break
a = reduce(lambda x,y:x*10+y,map(char,s[:m]))
b = reduce(lambda x,y:x*0.1+y,map(char,s[:m:-1]))
return a+0.1*b
(后面三行可以改为
a = reduce(lambda x,y:x*10+y,map(char,s[:m]))
b = reduce(lambda x,y:x*10+y,map(char,s[m+1:]))*(0.1**len(s[m+1:]))
return a+0.1*b
)