0

此代码在我的系统中运行良好。但是,当我在在线编译器+调试器中运行时,它给了我一个运行时(NZEC)错误,说 line4 中的缩进:if a.index(min(a)) 是错误的。我期望的解决方案是最外层的 for 循环需要运行 't' 次。据此,我的代码必须是正确的。请帮我找出错误。另外,如果您能告诉我我们什么时候会收到 NZEC 错误,那将对我有很大帮助!提前致谢!

t = int(raw_input())
for i in range(t):
    a = map(int, raw_input())
    if a.index(min(a)) != 0: 
            if min(a) == 0:
            print a.index(min(a))
        else:
            print str(str(a.index(min(a))) * (min(a)+1))
    elif a.index(min(a)) == 0:
        k = min(a)
        a[0] = 99
        l = min(a)
        if l == k:
            print str(str(a.index(min(a))) * min(a))
        elif l > k:
            print '1'+ ('0' * (k+1))
4

1 回答 1

0

看起来您的代码混合了制表符和空格。这在 Python 2 中是合法的,但这是一个非常糟糕的主意(在 Python 3 中它已成为一个错误)。我怀疑您运行代码的在线解释器正在采取更严格的观点,并将其视为错误。它可能会看到类似于 Stack Overflow 看到的内容(您的代码也没有正确复制到您的问题中)。

您可以通过运行带有标志的 Python 解释器来解决问题,该标志将在标签使用不一致或使其成为错误-t时发出警告。-tt许多文本编辑器都有将制表符转换为空格的工具,可以帮助解决问题。

于 2013-06-28T20:58:39.387 回答