#把用户输入的不规范的英文名字,变为首字母大写,其他小写的规范名字。 L1 = ['adam', 'LISA', 'barT'] print('用户输入的不规范的英文名字为:%s' % L1) print('整理后的规范格式名字:',end = '') print(list(map(lambda name:name[0].upper() + name[1:].lower(),L1)))
#编写一个prod()函数,可以接受一个list并利用reduce()求积. from functools import reduce def proud(L): def f(x,y): return x * y return reduce(f,L) print('3 * 5 * 7 * 9 =', prod([3, 5, 7, 9]))
#编写一个str2float函数,把字符串'123.456'转换成浮点数123.456 from functools import reduce def str2float(s): [s0,s1] = s.split('.') def fn(x,y): return x * 10 + y #把序列变换成整数 #lambda x,y : x * 10 + y def char2num(s): return {'0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9}[s] #把字符变换成数字 return reduce(fn,map(char2num,s0)) + reduce(fn,map(char2num,s1)) / pow(10,len(s1)) #前半部分>1 + 小数部分 print('str2float(\'123.456\') =', str2float('123.456'))
第三题借鉴了大腿子的,查找split()与pow()的用法,其实自己已经写到return语句前面一部分了,一直在思考如何处理小数点'.',想用拼接,但是拼接之后肯定不是float型了。感谢大手子!手动比心
Sign in to make a reply
LeborYi
第三题借鉴了大腿子的,查找split()与pow()的用法,其实自己已经写到return语句前面一部分了,一直在思考如何处理小数点'.',想用拼接,但是拼接之后肯定不是float型了。感谢大手子!手动比心