我已经尝试过多次给出int数据类型,一次是给v一次,一次是给j,但是它不起作用。
from array import *
arr=array('i', [])
n=int(input("enter the length of the array = "))
for j in range(n):
x=int(input("enter the value = "))
arr.append(x)
print(arr)
s=0
v=0
while s<=n:
v+=j[s] #here the error is occuring
s+=1
return v
print(v)
答案 0 :(得分:1)
j是从for循环中继承的一个int。由于j是一个int,因此您尝试访问j中的索引(因此会抱怨)
您很可能打算写arr [s]而不是j [s]
答案 1 :(得分:0)
看起来v应该保存数组中元素的总和。在这种情况下,引发错误的行应显示为:
v+=arr[s]
相反,您尝试访问j中的元素,但是j是整数(从上面的循环中)而不是数组。这就是为什么该错误表示int不可下标的原因,因为您正在尝试下标整数!