为什么输入()表现不对?

时间:2012-05-28 19:26:14

标签: python

我有以下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时,它会得到纠正。

当我的第一行总是一个整数时,输入()也不应该工作吗?

1 个答案:

答案 0 :(得分:2)

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

input命令或多或少等同于运行eval(raw_input()),而eval可用于执行任何操作。

你说你得到了例外。究竟是什么样的异常,什么是异常消息?