from functools import reduce
def str2num(s): try: return int(s) except ValueError as e: return float(s)
def calc(exp): ss = exp.split('+') ns = map(str2num, ss) return reduce(lambda acc, x: acc + x, ns)
def main(): r = calc('100 + 200 + 345') print('100 + 200 + 345 =', r) r = calc('99 + 88 + 7.6') print('99 + 88 + 7.6 =', r)
main()
交作业完了后看了看其他人的写法,好像没有哪个像我这样不严谨的...0 0
Sign in to make a reply
没有喧嚣的寂静岭
from functools import reduce
def str2num(s): try: return int(s) except ValueError as e: return float(s)
def calc(exp): ss = exp.split('+') ns = map(str2num, ss) return reduce(lambda acc, x: acc + x, ns)
def main(): r = calc('100 + 200 + 345') print('100 + 200 + 345 =', r) r = calc('99 + 88 + 7.6') print('99 + 88 + 7.6 =', r)
main()
交作业完了后看了看其他人的写法,好像没有哪个像我这样不严谨的...0 0