来自输入的python doc :
等效于 eval(raw_input(prompt))。
此函数不会捕获用户错误。如果输入在语法上无效,则会引发 SyntaxError。如果评估期间出现错误,可能会引发其他异常。
因此,如果您的输入为空,您可以获得EOFError 。
避免在第 1 行使用输入,而是使用 raw_input。尝试在代码中添加一些错误消息和验证,如下所示:
import sys
try:
t = int(raw_input())
except:
print "No repetition parameters set, using 1"
t = 1
for q in range(t):
s = raw_input()
try:
m,n = s.split(' ')
m = int(m)
n = int(n)
except:
print "Invalid input, enter two integers separated by space"
sys.exit(1)
ans = (m*n)*(m*n-1)
if(m > 1 and n > 1):
ans -= 4*(n-1)*(m-2) + 4*(m-1)*(n-2)
print ans
正如有人建议的那样,始终在真正的 python 解释器上测试你的代码。