from functools import reduce
def str2num(s):
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)
try:
r=calc('99+98+7.6')
except ValueError as e:
print('ValueError!')
raise
print('99+98+7.6=',r)
print(main())
Sign in to make a reply
只想一夜暴富
from functools import reduce
def str2num(s):
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)
try:
r=calc('99+98+7.6')
except ValueError as e:
print('ValueError!')
raise
print('99+98+7.6=',r)
print(main())