Могу ли я вызвать переменную через строку в Python? - PullRequest
0 голосов
/ 11 июня 2018

Попытка сделать простую карту для моего игрока, и карта использует несколько строк, но есть ли способ сохранить все эти строки в одной переменной?так что я могу распечатать их все одновременноя хочу призвать его, как указано выше

Ответы [ 3 ]

0 голосов
/ 11 июня 2018

Да;в Python можно составить список списков, который будет выполнять то, что вы хотите.Вы можете использовать существующие переменные и установить строки следующим образом:

rows = [row1, row2, row3, row4, row5, row6, row7]

или просто отказаться от отдельных строк и настроить 2D-список за один раз, таким образом:

row1 = [[" -", " -", " -", " -", " -", " -", " -"],
        [" -", " -", " -", " -", " -", " -", " -"],
        [" -", " -", " -", " -", " -", " -", " -"],
        [" -", " -", " -", " -", " -", " -", " -"],
        [" -", " -", " -", " -", " -", " -", " -"],
        [" -", " -", " -", " -", " -", " -", " -"],
        [" -", " -", " -", " -", " -", " -", " -"]]

Затем вы можете получить доступ к отдельным элементам по своему усмотрению, используя rows[2][4] и т. П.

0 голосов
/ 11 июня 2018

Вы можете использовать словарь:

row =   {1 : [" -", " -", " -", " -", " -", " -", " -"],
         2 : [" -", " -", " -", " -", " -", " -", " -"],
         3 : [" -", " -", " -", " -", " -", " -", " -"],
         4 : [" -", " -", " -", " -", " -", " -", " -"],
         5 : [" -", " -", " -", " -", " -", " -", " -"],
         6 : [" -", " -", " -", " -", " -", " -", " -"],
         7 : [" -", " -", " -", " -", " -", " -", " -"]}

Это поможет вам вести подсчет, как у вас с вашими переменными.

Если у вас уже есть эти переменные, то же решение может быть достигнуто с помощьюenumerate:

row = dict(enumerate([row1, row2, row3, row4, row5, row6, row7], 1))

Вы получаете то же самое, только в одну строку.

0 голосов
/ 11 июня 2018

Если вы хотите сохранить существующие переменные, вы можете сделать следующее:

row = [row1, row2, row3, row4, row5, row6, row7]
print(row[2][4])

Или вы можете определить row как список списков:

row = [
    [" -", " -", " -", " -", " -", " -", " -"],
    [" -", " -", " -", " -", " -", " -", " -"],
    [" -", " -", " -", " -", " -", " -", " -"],
    [" -", " -", " -", " -", " -", " -", " -"],
    [" -", " -", " -", " -", " -", " -", " -"],
    [" -", " -", " -", " -", " -", " -", " -"],
    [" -", " -", " -", " -", " -", " -", " -"],
]
print(row[2][4])
...