值太多,无法解压缩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())
返回生成器,因此如果您确定有两个值,您只需使用listn,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