这个错误在hackerrank.com上意味着什么?

我正在用 Python 语言在hackerrank.com 上进行挑战,我很难理解我收到的错误消息。


这是代码:


for i in range(1):

    in1 = int(input())

    if in1 > 1000:

        print('error')

        break

    else:

        roll1 = set(input().split())

        in2 = int(input())

    if in2 >  1000:

        print('error')

        break

    else:

        roll2 = set(input().split())

    if len(roll1.union(roll2)) > 1000:

        print('error')

        break

    else:

        print(len(roll1.union(roll2)))

这是我不明白的错误:


Runtime Error

Error (stderr)

Traceback (most recent call last):

  File "Solution.py", line 6, in <module>

  File "<string>", line 1

    1 2 3 4 5 6 7 8 9

      ^

SyntaxError: invalid syntax

这是输入:


Input (stdin)

9

1 2 3 4 5 6 7 8 9

9

10 1 2 3 11 21 55 6 8

这是预期的输出:


Expected Output

13

我不指望你为我解决这个挑战。我只是不明白这个错误信息。它也在我以前的解决方案中。它是关于什么的?


谢谢 :-)。


慕码人2483693
浏览 113回答 3
3回答

慕村225694

我可以重现错误。此代码在 Python 2 中产生错误,因为它input()被定义为eval(raw_input()). 在 Python 3 中,raw_input被重命名为input. 添加input = raw_input到程序的顶部可以解决错误。在 Python 3 下运行程序也可以。您可以使用以下内容在两个版本中产生相同的错误:>>> eval("1 2 3 4 5 6 7 8 9")Traceback (most recent call last):&nbsp; File "<stdin>", line 1, in <module>&nbsp; File "<string>", line 1&nbsp; &nbsp; 1 2 3 4 5 6 7 8 9&nbsp; &nbsp; &nbsp; ^SyntaxError: invalid syntax回溯中的 存在File "<string>", line 1表明错误来自对 的调用eval。

牧羊人nacy

1 2 3 4 5 6 7 8 9&nbsp;python 正在将所有这些作为字符串读取,请尝试:&nbsp;listX = list(map(int, input.split()))在需要的地方使用 listX

梦里花落0921

这是 python 2 的错误,您的代码在 python 3 中,所以请确保您在hackerrank 中选择了 python 3
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python