Discuss / Python / 失踪人口回来交作业了

失踪人口回来交作业了

Topic source
from functools import reduce

def str2num(s):
    try:
        return int(s)
    except ValueError:
        try: 
            return float(s)
        except ValueError:
            raise ValueError('Invalid Value:%s' % 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 + 7.6')
    print('100 + 200 + 345 =', r)
    r = calc('99 + 88 + 7.6')
    print('99 + 88 + 7.6 =', r)

main()

再接再厉


  • 1

Reply