#下面开始课后作业 print ('这里是我的课后作业,检查出来异常,并查出来原因') from functools import reduce
def str2num(s): try: return int(s) #原因出现在这里,因为python不能识别带点号的 except ValueError as e: return float(s) #还是逻辑能力不强呀,直接int返回了,结果不准了
def calc(exp): ss = exp.split('+') ns = map(str2num, ss) return reduce(lambda acc, x: acc + x, ns) #这里开始复习下reduce ,作用一个数组,并且结果累积,两个参数,一个匿名函数,后面一个数组
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()
Sign in to make a reply
黛柔时尚女鞋
#下面开始课后作业 print ('这里是我的课后作业,检查出来异常,并查出来原因') from functools import reduce
def str2num(s): try: return int(s) #原因出现在这里,因为python不能识别带点号的 except ValueError as e: return float(s) #还是逻辑能力不强呀,直接int返回了,结果不准了
def calc(exp): ss = exp.split('+') ns = map(str2num, ss) return reduce(lambda acc, x: acc + x, ns) #这里开始复习下reduce ,作用一个数组,并且结果累积,两个参数,一个匿名函数,后面一个数组
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()