0

我有以下 python 2.7.3 代码,我将提交给 codechef 在线编程竞赛:

case = input() 
for i in xrange(0, case):
    try:
        l = [elem for elem in raw_input().split()]
        res = int(l[0][::-1]) + int(l[1][::-1])
        print int(str(res)[::-1])
    except:
        break

这适用于我的计算机,即使我使用输入重定向并使用in.txt文件进行输入,它仍然有效。

但问题是当我提交它进行评估时,我得到一个异常,当我使用 raw_input 获取 case 的值时,该异常被删除

case = int(raw_input())

我的 in.txt 文件如下:

1
23 45

我的问题是它在我的计算机上完美运行,在线竞赛网站在第一行提供的异常是什么,并且当我使用 raw_input 时它得到纠正。

当我的第一行始终是整数时, input() 不应该也起作用吗?

4

1 回答 1

2

最有可能的是,您提交代码以禁用该input命令的站点。这有时是作为“沙盒”的一部分完成的,以防止您在他们的机器上运行任意代码。例如,他们不想让您运行删除其磁盘上所有文件的脚本。

input命令或多或少等同于 running eval(raw_input()),并且eval可以用来做任何事情。

你说你有一个例外。究竟是什么异常,异常信息是什么?

于 2012-05-28T21:49:01.187 回答