值太多,无法解压缩python3

值太多,无法解压缩python3,python,python-3.x,Python,Python 3.x,我收到这个错误:- Runtime ErrorTraceback (most recent call last): File "/home/88f7f9df3fb0504d362e8d32ee79652f.py", line 15, in <module> n,q=(int(x) for x in input().split()) ValueError: too many values to unpack (expected 2) 我不明白怎么回事 am仅为相应的误差

我收到这个错误:-

 Runtime ErrorTraceback (most recent call last):
  File "/home/88f7f9df3fb0504d362e8d32ee79652f.py", line 15, in <module>
    n,q=(int(x) for x in input().split())
ValueError: too many values to unpack (expected 2)
我不明白怎么回事 am仅为相应的误差线提供两个输入。 请帮帮我。。。 我收到多个测试用例的错误。 对于单个测试用例,它正在正确运行。

替换

n,q=(int(x)表示input().split()中的x)

print(在input().split()中列出x的int(x))


了解您在这里解包的内容。

(int(x)代表输入中的x().split())
返回生成器,因此如果您确定有两个值,您只需使用list
n,q=[int(x)代表输入中的x().split()]
我很好奇:出了什么问题?我想用一种更具pythonic风格的书写来替换while循环,例如,范围(t)内的uuu的
如果循环中不需要迭代号?ohh..谢谢。我不知道,它是。它正在解包我作为输入给出的两个值,但对于多个测试用例,它会给出此错误。
import math
def find_prime(arr):
    for i in range(len(arr)):
        k=arr[i]
        count=0
        for j in range(1,int(math.sqrt(k))+1):
            if k%j==0:
                count+=1
        if count>=2:
            arr[i]=0
        else:
            arr[i]=1
t=int(input())
while t!=0:
    n,q=(int(x) for x in input().split())
    arr=[int(x) for x in input().split()]
    find_prime(arr)
    for i in range(1,n):
        arr[i]=arr[i]+arr[i-1]
        #print(arr[i],end=" ")
    while q!=0:
        l,r=(int(x) for x in input().split())
        if l>1:
            k=arr[r-1]-arr[l-2]
        else:
            k=arr[r-1]
        q-=1
        print(k)
    t-=1