0

代码 :

    n,X=input(),0
    for t in range(int(n)):
        eval(input())
    print(X)

Traceback (most recent call last):
  File "prog.py", line 3, in <module>
    eval(input())
  File "<string>", line 1
    X++
      ^
SyntaxError: unexpected EOF while parsing

在我能找到但在 python 3.x 中唯一的解决方案中使用raw_input而不是:如何在 Python 3 中使用 raw_inputinput()inputraw_input()

还有其他方法吗?

供参考; 我正在尝试解决:http ://codeforces.com/problemset/problem/282/A

4

1 回答 1

0

删除eval()呼叫。

input()在 Python 2 中相当于eval(input())在 Python 3 中,如果你需要raw_input()在 Python 2 中使用,那么在 Python 3 中你需要删除eval()调用。

您必须自己解析输入;++不是有效的 Python 运算符,您不能使用它eval()来解决 Codeforces 问题。

解决贴出问题的最简单方法是逐行读取输入:

import sys, itertools

count = int(next(sys.stdin))
x = 0
for line in itertools.islice(sys.stdin, count):
    x += 1 if '++' in line else -1
print(x)
于 2013-08-28T18:31:27.310 回答