SyntaxError: invalid syntax - Python 3.5

SyntaxError: invalid syntax - Python 3.5

我在Python中有一个小代码,看起来是这样的:

import sys
def _158a():
    n, k = map(int, sys.stdin.readline().split())
    data = input().split()
    a=[]
    for i in range(n):
        a.append(int(data[i]))
    ans=0
    for i in range(n):
        if a[i]>=a[k-1] and a[i]:
            ans+=1
    return ans

res = _158a()
print(res)

使用键盘输入:

3 3
1 2 3

当我 运行 使用上述输入编码时,出现错误:

Traceback (most recent call last):
  File "/Users/tranhieu/Desktop/Python/158A.py", line 14, in <module>
    res = _158a()
  File "/Users/tranhieu/Desktop/Python/158A.py", line 4, in _158a
    data = input().split()
  File "<string>", line 1
    1 2 3
      ^
SyntaxError: invalid syntax
Process finished with exit code 1

你能帮我修复这个错误吗?

您应该使用 raw_input() 而不是 input(),因为在 Python 2.x input() 中尝试解析输入。在 Python 3.x input() 中只是 returns 一个字符串,例如 Python 2.x.

中的 raw_input()