Discuss / Python / 交个作业

交个作业

Topic source

这样可以解决错误,但是不严谨(存在四舍五入问题).....

from functools import reduce

def str2num(s):
    return int(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()

用这个方法解决四舍五入问题

def str2num(s):
    s = float(s)+0.5
    return int(s)

  • 1

Reply