Discuss / Python / '打卡'+'交作业'

'打卡'+'交作业'

Topic source

涵_天

#1 Created at ... [Delete] [Delete and Lock User]
from functools import reduce
import logging


def str2num(s):
    try:
        return int(s)
    except ValueError as e:
        print(e)
        logging.exception(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()



  • 1

Reply