Discuss / Python / 脑海里的第一个想法

脑海里的第一个想法

Topic source

护苗2018

#1 Created at ... [Delete] [Delete and Lock User]
from functools import reduce

def str2num(s):
    try:
        return int(s)
    except ValueError as e:
        #print(e)
        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)
    r = calc('99 + 88 + 7.6')
    print('99 + 88 + 7.6 =', r)

main()

H_景

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

不错

葬花朴

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

为什么不直接去除整数的限制?

sZJ_-

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

不错,但是实际上运行以后,就是抛出错误,且显示正确答案,感觉怪怪的

if '.' in a:
    return float(s)

都交给我8

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

我直接吧7.6.改成76了,算解决问题了吗

不算,你依然不支持7.6


  • 1

Reply