Discuss / Python / 发现除了中间那个高级特性,后面的反而不是很难了

发现除了中间那个高级特性,后面的反而不是很难了

Topic source

#下面开始课后作业 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()


  • 1

Reply