def normalize(name):
if isinstance(name,str) == 0:
raise TypeError('请输入字符串!')
else:
name = name.lower()
First = name[0].upper()
Remain = name[1:]
name = First + Remain
return name
作业2:连乘
from functools import reduce
def prod(L):
def p(x,y):
return x * y
return reduce(p,L)
作业3:
from functools import reduce
DIGITS = {'0':0,'1':1,'2':2,'3':3,'4':4,'5':5,
'6':6,'7':7,'8':8,'9':9}
def str2float(s):
def fn(x,y):
return x * 10 + y
for i in enumerate(s): #有更简洁的方法: l=s.index('.')
if i[1] == '.':
l = i[0]
s_i = s[0:l]
s_f = s[l+1:]
def char2num(s):
return DIGITS[s]
num_si = reduce(fn,map(char2num,s_i))
num_sf = reduce(fn,map(char2num,s_f))
return (num_si + num_sf * pow(0.1,len(s_f)))
向阳
复习:
作业1:格式化
作业2:连乘
作业3: