一、利用map和reduce写一个函数,把字符串’123.456’转换成浮点数123.456
代码示例:
from functools import reduce
def str2float(s):
# char2int
def g(s):
return {'0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9}[s]
# 整数部分
def h(x, y):
return 10 * x + y
# 小数部分
def a(x, y):
return x / 10 + y
# 将原始字符串数据分割为两部分
L = s.split('.')
q = list(map(g, L[0]))
u = list(map(g, L[1]))
b = u[::-1]
return reduce(h, q) + reduce(a, b) / 10
print(str2float('123.456'))
执行效果:
二、验证码的生成
代码示例:
import random
import string
code_str = string.ascii_letters + string.digits
def gen_code(len=4):
return ''.join(random.sample(code_str,len))
print([gen_code(len=6) for i in range(1000)])
print(random.sample(code_str,2))
执行效果: