from functools import reduce def str2num(s): try: return int(s) except ValueError as e: #print(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()
不错
为什么不直接去除整数的限制?
不错,但是实际上运行以后,就是抛出错误,且显示正确答案,感觉怪怪的
if '.' in a: return float(s)
我直接吧7.6.改成76了,算解决问题了吗
不算,你依然不支持7.6
Sign in to make a reply
护苗2018