Discuss / Python / 作业,还有需完善的地方:当输入了字母怎么判断?

作业,还有需完善的地方:当输入了字母怎么判断?

Topic source

大牛201601

#1 Created at ... [Delete] [Delete and Lock User]

from functools import reduce

def str2num(s): try: return int(s) except ValueError as e: print('输入了浮点数,进行浮点运算')
return float(s)

def calc(exp): ss = exp.split('+')

#print(ss)
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()

输出: 100 + 200 + 345 = 645 输入了浮点数,进行浮点运算 99 + 88 + 7.6 = 194.6


  • 1

Reply