结果中有多余的空间? Python编程

时间:2017-12-05 04:10:51

标签: python

在我的程序中,我在测试1中的星号和撇号之间有一个额外的空间,并且在加号和撇号中测试2个额外的空格。不需要额外的空间,这是我的代码......帮助哈哈!

测试1:

预期:' 3 4 *'

实际:' 3 4 *'

测试2:

预期:' 3 4 * -5 +'

实际:' 3 4 * -5+'

    def empty_case(self, mt_node, inp):

    if (inp is None):
        return ''
    else:
        return inp

def non_empty_case(self, data_node, inp):

    if (inp is None):
        inp = ""

    if (data_node.is_leaf()):
        return inp + (str(data_node.get_data()) + " ")

    inp = data_node.get_left().execute(self, inp)
    inp = data_node.get_right().execute(self, inp)

    return (inp[:-1] + str(data_node.get_data()) + " ")

1 个答案:

答案 0 :(得分:0)

您似乎以致电

结束
empty_case

,其中

inp is None

因此,将空格''附加到通过解析树而生成的字符串的末尾。

我还没有看到足够的代码告诉你如何解决这个问题。 您可能希望以in_为None的non_empty_case结束,而不是。