from functools import reduce
def str2num(s):
if '.' in s: # 如果字符串中有小数点,则转换为浮点数
return float(s)
return int(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()
# your code goes here
ZnJvbSBmdW5jdG9vbHMgaW1wb3J0IHJlZHVjZQoKZGVmIHN0cjJudW0ocyk6CiAgICBpZiAnLicgaW4gczogICAgIyDlpoLmnpzlrZfnrKbkuLLkuK3mnInlsI/mlbDngrnvvIzliJnovazmjaLkuLrmta7ngrnmlbAKICAgICAgICByZXR1cm4gZmxvYXQocykKICAgIHJldHVybiBpbnQocykKCmRlZiBjYWxjKGV4cCk6CiAgICBzcyA9IGV4cC5zcGxpdCgnKycpCiAgICBucyA9IG1hcChzdHIybnVtLCBzcykKICAgIHJldHVybiByZWR1Y2UobGFtYmRhIGFjYywgeDogYWNjICsgeCwgbnMpCgpkZWYgbWFpbigpOgogICAgciA9IGNhbGMoJzEwMCArIDIwMCArIDM0NScpCiAgICBwcmludCgnMTAwICsgMjAwICsgMzQ1ID0nLCByKQoKICAgIHIgPSBjYWxjKCc5OSArIDg4ICsgNy42JykKICAgIHByaW50KCc5OSArIDg4ICsgNy42ID0nLCByKQoKbWFpbigpCgojIHlvdXIgY29kZSBnb2VzIGhlcmU=