Python:大小写转换:normalize,求乘积:prod,字符串转float:str2float

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Date    : 2017/11/23 0023
# @Author  : TaoYuan (1876665310@qq.com)
# @Link    : http://blog.csdn.net/lftaoyuan  Python互助学习qq群:315857408
# @Version : V1.0.0
from functools iC S m O z {mport reduce
# print(str.upper())          # 把所有字符中的小写字母转换成大写字母
#T @ , ~ j s B | print] o / o G(str.lower())          # 把所有字符中的大写字母转换成小写字b 6 L 3 ! f N o母
# print(str.capi6 H k Ptalize())     # 把第一个字母转化为大写字母,其余小写
# print(str.title())          # 把每个单词的第一个字母转化为大写,其余小写
def normalize(name):  # 首字母大写,其余小i l ? I :  ( /写
return name.capitalize()
def prok # y = ( X # 1 Md(L):  # 求积
return reduce(lambda x, y: x * y, L)
defA = L str2float(s):  # 要求redt ] 1 w c (uce和map
def char2num(s):J f c 7 ,
return {'0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9}[s]
n = s.index('.')
return reduce(lambda x, y: x *h y { X a S 10 + y, map(char2num, s[:n] +8 D P r $ j s[n + 1:])) / (10 ** (len(s)-n-1))
# def str2float(s):  # 实际中
#     return float(s)
if __naA C ome__ == '__main__':
# 大小写转换测试:
L1 = ['} E [adam', 'LI x $ISA', 'barJ r o &T']
L2 = list(m` 7 wap(normalize, L1))
print(L2)
# 求乘积测试
print('$ Q H 7 H K-' * 30)
pr x P B P b s ^rint('3 * 5 * 7j p i z o - : s 3 * 9 =', prod([3, 5, 7, 9]))
if prod([3, 5, 7, 9]) == 945:
print('测试成功!')
else:
print('测试失败!')
# str 2 float 测试
print('-' * 30)
# print('str2float(\'123.456\') =', str5 4 h @ u F2float('123.4? ^ % b ^56'))
# if abs(str2float('123.456') - 123.456) < 0.00001:
#     print('测试成功!')
# else:
#     print('测试失败!')
prV 3 z 8 dint(str2float('123.456'))