from functools import reduce
def str2num(s): if s.count('.')==1: return float(s) return int(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)
Sign in to make a reply
走庄子路线
from functools import reduce
def str2num(s): if s.count('.')==1: return float(s) return int(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)