我希望迭代的输出是9乘9的数组。现在我只在一列中得到输出。
for q in range(11,20,1):
for x in range(11,20,1):
if q <= x:
V = 3.5*q ‐ 1.5 * x
elif q > x:
V = 3.5*x ‐ 1.5*x
print(V)
尝试这样做但我得到错误: IndexError:索引11超出了0号轴的范围
import numpy as np
V = np.zeros((9,9))
for q in range(11,20,):
for x in range(11,20):
if q <= x:
V[q][x] = 3.5*q - 1.5*x
elif q > x:
V[q][x] = 3.5*x - 1.5*x
print(V)
感谢您的帮助。
答案 0 :(得分:1)
您的问题正是错误所说的:您正在尝试访问大小为9(按9)的数组中的索引11。
for q in range(11,20):
正在迭代q = 11, 12, 13,..., 19
。
然后V[q][x]
正在尝试访问q
中索引为x
和V
的元素。但V
的大小为9x9,这意味着您可以访问的唯一元素是[0,0], [0,1], ..., [0,8], [1,0], ..., [8,8]
因此错误:您正在尝试访问不存在的元素。