2

誰かが私に何が悪いのか教えてもらえますか?

newGrid.setValue(n[k][0], n[k][1], List[k])各座標の各 x/y の値を、xy と値の 3 つの引数を取る別の関数に入力しようとして行き詰まりました。値はグリッド上の位置に出力されるもので、x & y は座標です。

self.listOfRows[x - 1][y - 1] = value 

IndexError: リスト割り当てインデックスが範囲外です

def gridMileage(List):
    x = []
    y = []
    n = []
    k = 0
    best = 0
    while len(List) > 0:
        for i in range(len(List)):
            x = List[i][0]
            y = List[i][1]
            n.append([x,y])
        if x > best:
            best = x
        elif y > best:
            best = y
        newGrid = Grid(best)
        while k < 2:
            newGrid.setValue(n[k][0], n[k][1], List[k])
            k = k + 1
        del List[0]
        del List[1]
        del n[0]
        del n[1]
        newGrid.setValue(n[0], n[0] + 1, math.sqrt((n[0][0] - n[1][0])**2 + (n[0][1] - n[1][1])**2))
        newGrid.setValue(n[1] + 1, n[1], math.sqrt((n[1][0] - n[0][0])**2 + (n[1][1] - n[0][1])**2))
        z = len(newGrid.listOfRows)
        while z > 0:
            print(newGrid.listOfRows[z - 1])
            z = z - 1

class Grid:
    def __init__(self, n):
        self.listOfRows = []
        for i in range(n):
            row = []
            for j in range(n):
                row.append('*')
            self.listOfRows.append(row)

    def setValue (self, x, y, value):
        self.listOfRows[x - 1][y - 1] = value
4

2 に答える 2

0
self.listOfRows[x - 1][y - 1] = value 

それがあなたに与えるとしたらx、そしてそれyは何ですか0

self.listOfRows[-1][-1] = value 

それは存在しません

于 2013-10-18T14:11:10.330 に答える