第一题:
def normalize(name):
#格式化字符串
return f'{name[0].upper()}{name[1:].lower()}'
L1 = ['adam','LISA','barT']
L2 = list(map(normalize,L1))
测试
print(L2)
第二题:
from functools import reduce
def prod(L):
def fn(x,y):
return x * y
return reduce(fn,L)
print('2 * 3 * 5 =',prod([2,3,5]))
if prod([2,3,5]) == 30:
print('测试成功!')
else:
print('测试失败!')
第三题:
def str2float(str):
#小数点前后分割
integer,decimal = str.split('.')
#字符转数字
def char2num(char):
dict = {'1':1,'2':2,'3':3,'4':4,'5':5,'6':6,'7':7,'8':8,'9':9}
return dict[char]
#提取整数组合
return x * 10 + y
L1 = reduce(fn,map(char2num,integer))
R1 = reduce(fn,map(char2num,decimal))/10**len(decimal)
return L1+R1
#测试
print('str2float(\'123.456\') =', str2float('123.456'))
if abs(str2float('123.456') - 123.456) < 0.00001:
print('测试成功!')
print('测试失败!')
Sign in to make a reply
却道天凉好个秋
第一题:
def normalize(name):
#格式化字符串
return f'{name[0].upper()}{name[1:].lower()}'
L1 = ['adam','LISA','barT']
L2 = list(map(normalize,L1))
测试
print(L2)
第二题:
from functools import reduce
def prod(L):
def fn(x,y):
return x * y
return reduce(fn,L)
测试
print('2 * 3 * 5 =',prod([2,3,5]))
if prod([2,3,5]) == 30:
print('测试成功!')
else:
print('测试失败!')
第三题:
from functools import reduce
def str2float(str):
#小数点前后分割
integer,decimal = str.split('.')
#字符转数字
def char2num(char):
dict = {'1':1,'2':2,'3':3,'4':4,'5':5,'6':6,'7':7,'8':8,'9':9}
return dict[char]
#提取整数组合
def fn(x,y):
return x * 10 + y
L1 = reduce(fn,map(char2num,integer))
R1 = reduce(fn,map(char2num,decimal))/10**len(decimal)
return L1+R1
#测试
print('str2float(\'123.456\') =', str2float('123.456'))
if abs(str2float('123.456') - 123.456) < 0.00001:
print('测试成功!')
else:
print('测试失败!')