第一题:
BIG_SMALL = {'A':'a', 'B':'b', 'C':'c', 'D':'d', 'E':'e', 'F':'f', 'G':'g', 'H':'h', 'I':'i', 'J':'j', 'K':'k', 'L':'l', 'M':'m', 'N':'n', 'O':'o', 'P':'p', 'Q':'q', 'R':'r', 'S':'s', 'T':'t', 'U':'u', 'V':'v', 'W':'w', 'X':'x', 'Y':'y', 'Z':'z'} SMALL_BIG = {'a':'A', 'b':'B', 'c':'C', 'd':'D', 'e':'E', 'f':'F', 'g':'G', 'h':'H', 'i':'I', 'j':'J', 'k':'K', 'l':'L', 'm':'M', 'n':'N', 'o':'O', 'p':'P', 'q':'Q', 'r':'R', 's':'S', 't':'T', 'u':'U', 'v':'V', 'w':'W', 'x':'X', 'y':'Y', 'z':'Z'} def normalize(name): value = '' for i, x in enumerate(name): print(i,x) if x in BIG_SMALL: x = BIG_SMALL[x] if i == 0: x = SMALL_BIG[x] value = value + x return value
第二题:
def prod(L): def f(a, b): return a * b return reduce(f,L)
第三题:
DIGITS = {'0': 0, '1': 1, '2': 2, '3': 3, '4': 4, \ '5': 5, '6': 6, '7': 7, '8': 8, '9': 9} def fn(x, y): return x * 10 + y def char2num(s): return DIGITS[s] str1, str2 = s.split('.') def a_str2float(str): return reduce(lambda x, y: x * 10 + y, map(char2num, str)) return a_str2float(str1) + a_str2float(str2) * .1 ** len(str2)
Sign in to make a reply
护苗2018
第一题:
第二题:
第三题: