Discuss / Python / Exercise

Exercise

Topic source

DIGITS ={'0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9}

#exercise1

def normalize(name): if not isinstance(name, str): raise TypeError('') if name: name = name[0:1].upper() + name[1:].lower() return name

#exercise2

def prod(L): return reduce(lambda x, y: x * y, L)

#exercise 3

def str2float(s): dot_rindex = s.rfind('.') if dot_rindex == -1: return reduce(lambda x, y: x 10 + y, map(lambda x: DIGITS[x], s)) / 1.0 else: return reduce(lambda x, y: x 10 + y, map(lambda x: DIGITS[x], s[:dot_rindex] + s[dot_rindex+1:])) / 10 ** (len(s)-dot_rindex-1)


  • 1

Reply