def normalize(name):
if name != []:
if isinstance(name,str):
return name[0:1].upper() + name[1:].lower()
return
def prod(L):
def mul(x, y):
return y * x
return reduce(mul,L)
def str2float(s):
dig = {'0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9}
i=0
#找出小数点位置i
while s:
if s[i] == '.':
break
i = i + 1
#转数字
def StrToNum(s):
return dig[s]
def Mul(x,y):
return x * 10 + y
r1=reduce(Mul,map(StrToNum,s[0:i]))
r2=reduce(Mul,map(StrToNum,s[i+1:]))
return r1 + (r2/(10**len(s[i+1:]))) #**为幂运算
看了你的发现是我想要的那种办法,小白一个,看了半天第一题不懂为什么这个切片可以拿到首位字母,原来是忘记了map()函数的使用方法了,受教了,感谢!!
谢谢,不看这串代码连思路都没有。看完理解了!
Sign in to make a reply
YOUTH
def normalize(name):
if name != []:
if isinstance(name,str):
return name[0:1].upper() + name[1:].lower()
return
def prod(L):
def mul(x, y):
return y * x
return reduce(mul,L)
def str2float(s):
dig = {'0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9}
i=0
#找出小数点位置i
while s:
if s[i] == '.':
break
i = i + 1
#转数字
def StrToNum(s):
return dig[s]
def Mul(x,y):
return x * 10 + y
r1=reduce(Mul,map(StrToNum,s[0:i]))
r2=reduce(Mul,map(StrToNum,s[i+1:]))
return r1 + (r2/(10**len(s[i+1:]))) #**为幂运算