Python 为什么不是';t input()运行正常吗?
我将以下python 2.7.3代码提交给codechef在线编程竞赛:Python 为什么不是';t input()运行正常吗?,python,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 这在
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
这在我的计算机上是有效的,即使我使用输入重定向并使用.txt中的文件进行输入,它仍然有效
但问题是,当我提交它进行评估时,我会得到一个异常,当我使用原始输入获取case值时,该异常会被删除
case = int(raw_input())
我的in.txt文件如下:
1
23 45
我的问题是,它在我的计算机上工作得很好,在线竞赛网站在第一行输入异常,并且当我使用原始输入时,它得到了纠正
当我的第1行始终是整数时,input()不应该也工作吗?最可能的情况是,您提交代码的站点禁用了
输入
命令。这有时是作为“沙箱”的一部分来完成的,以防止您在他们的机器上运行任意代码。例如,他们不想让您运行删除其磁盘上所有文件的脚本
input
命令或多或少相当于运行eval(raw\u input())
,并且eval
可以用来做任何事情
你说你有个例外。确切地说是什么样的异常,异常消息是什么?该网站没有告诉我,尽管它在使用原始输入时得到了纠正。竞赛使用的是什么版本的Python?我得到了一个NZEC运行时错误,在他们的网站上解释如下:为什么我得到了NZEC?NZEC代表非零出口代码。对于C用户,如果您的main方法没有返回0,则会生成此消息;陈述其他语言(如Java/C++)在抛出异常时可能会生成此错误。因此,您可以看到,对于其他语言来说,这是由于异常造成的,但它不会显示异常消息。请尝试将以下内容之一作为完整程序提交,然后查看是否会出现类似错误:
eval(“1+2”)
或仅input()
;或者,如果它允许您查看控制台输出(stout),则将所有内容包装在一个try
…中,但捕获并打印异常的除外。