В рамках упражнения в университете мы проходим через Python, как и на вводном языке программирования. Я уже знаю, как программировать разумный стандарт, поэтому мне сказали, что если я могу представить что-то хорошего качества, я могу пропустить немного класс.Создание 2-го массива классов в Python
В этой степени я взял версию C текстовой игры Star Trek (http://www.dunnington.u-net.com/public/startrek/startrek.c) и переписал ее на Python, которая прошла достаточно хорошо, когда я привык к конкретным требованиям Python.
Моя проблема - это то, что кажется общим в Stackoverflow, который является созданием и использованием многомерного многомерного массива. После долгих поисков я получил возможность создавать многомерные списки целых чисел или строк и т. Д., Но когда дело доходит до многомерного массива (или списка списков, если быть точным) классов, все ад разрывается.
Вот мой класс:
class quadrant:
klingonCount = 0
baseHere = 0
starCount = 0
И вот одна из многих попыток создать список списков классов:
quadrants = [quadrant] * 9
for y1 in range(1,9):
quadrants[y1] = [quadrant] * 9
Это была скопирована из http://docs.python.org/2/faq/programming#how-do-i-create-a-multidimensional-list
Как только поскольку я заменил класс на 0, печать массива показала, что весь массив ссылался на один класс, а не на несколько разных, как я надеялся.
Проблема заключается в том, что массив содержит только значения, введенные во время последней итерации цикла, а не отдельные.
Я не на 100% знаком с использованием классов, поэтому может быть, что я просто пытаюсь ссылаться на один класс много раз, и мне действительно нужно много классов. Я? Помогите!
Я использую Python 2.7, который является рекомендуемым языком.
Ради ссылки, это код, который пытается заполнить многомерный список:
for x in range(1,9):
for y in range(1,9):
j = randint(1,99)
if (j < 5):
numBases += 1
baseHere = 1
temp = getKlingons(difficulty)
klingonsHere += temp
quadrants[x][y].baseHere = baseHere
quadrants[x][y].klingonCount = temp
s = randint(1,9)
quadrants[x][y].starCount = s
из ... классов ..? Из объектов. – Kos