3

它在我的电脑和在线编译器+调试器中运行良好。但是,当我在 codechef 中提交它时,它给了我一个运行时错误(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

2 回答 2

2

你必须拆分raw_input()

raw_input()接收输入只是一个字符串。用于raw_input().split()将字符串转换为列表。否则,您将遇到索引问题,因为输入中给出的空格用于映射。所以你得到了nzec(非零退出代码)错误

a=map(int,raw_input().split())

会做

于 2013-06-29T05:22:03.570 回答
2

很多时候是因为留下了一些白色的地方。

尝试这个:

raw_input().strip().split(" ") 

如果数据用“”分隔。

于 2016-08-13T09:06:12.657 回答