(Python 2.7) Синтаксическая ошибка при попытке добавить строку в список - PullRequest
0 голосов
/ 02 августа 2020

Эй! Я редактирую сценарий, который нашел в Интернете, написанный на Python 2.7. Я когда-либо кодировал только версию 3.8, поэтому я не совсем знаком с изменениями. Также все еще новичок в Python 3.8

Я добавил код для добавления строки в список, но он выдает мне эту синтаксическую ошибку всякий раз, когда я пытаюсь запустить сценарий: SyntaxError
Here's the snippet of the code it refers to:

for r in range(0,self.__length):
        for c in range(0,self.__width):
            if self.__map[r][c] in (WALL,PERM_WALL):
                print '#'
                global mapdatalist.append("#")
            else:
                print '.'
                global mapdatalist.append(".")

It's referring to the mapdatalist.append("#") bit.
I've read the part on list functions вот , и из того, что читаю, делаю правильно. Кто-нибудь, кто более опытен в этом, может мне помочь? Спасибо!

Ответы [ 2 ]

0 голосов
/ 02 августа 2020

Предполагая, что вы хотите добавить строку к глобальной переменной mapdatalist, вы должны объявить глобальную переменную перед использованием переменной.

Попробуйте следующее:

global mapdatalist
for r in range(0,self.__length):
        for c in range(0,self.__width):
            if self.__map[r][c] in (WALL,PERM_WALL):
                print '#'
                mapdatalist.append("#")
            else:
                print '.'
                mapdatalist.append(".")
0 голосов
/ 02 августа 2020

Вы не можете объединить объявление global с таким выражением. Используйте global mapdatalist один раз в начале функции, а затем обычно используйте mapdatalist (например, mapdatalist.append("#")). (Это та же самая версия Python, которую вы используете.)

...