Локальная переменная, на которую ссылается перед назначением только для некоторых переменныхPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Локальная переменная, на которую ссылается перед назначением только для некоторых переменных

Сообщение Anonymous »

Я попытался понять это, посмотрев в предыдущих темах, но я все еще не понимаю, почему я получаю эту ошибку только для одной из двух переменных в следующем фрагменте кода (код отстой, который я знаю): < /p>

alfaphet=('abcdefghijklmnopqrstuvxyz')
cryptalfaphet=('defghjiklmnopqrstuvxyzabc')
spaceNumber=[]
textCopy=[]

def crypt():
textCopy=[]
print('print the text that you want to encrypt:')
text=input()
for i in range(len(text)):
for j in range(len(alfaphet)):
if text==alfaphet[j]:
textCopy.append(cryptalfaphet[j])
if text==' ':
spaceNumber.append(i)
for i in range(len(spaceNumber)):
for j in range(len(text)):
if list(range(len(text)))[j]==int(spaceNumber):
textCopy.insert(j, ' ')
textCopy=''.join(textCopy)
print(textCopy)

crypt()
< /code>

Этот код работает нормально, но если я удалю < /p>

textCopy=[]
< /code>

поджатие с начала деф-блока, я получаю ошибку, подобную этой: < /p>

Traceback (most recent call last):
File "C:/Python33/dekrypt.py", line 26, in
crypt()
File "C:/Python33/dekrypt.py", line 13, in crypt
textCopy.append(cryptalfaphet[j])
UnboundLocalError: local variable 'textCopy' referenced before assignment
< /code>

Мой вопрос заключается в том, почему это не происходит с переменной космического корабля. SpaceNumber - это так, как я вижу, также упоминается перед поджалем с < /p>

spaceNumber.append(i)
< /code>

поджатие? На него ссылаются до деф-блока, но был ли Vaible TextCopy Very? В чем разница, они оба пустые списки с самого начала, и я использую метод .append () на обоих, но Python, кажется, относится к ним по -разному!?

Подробнее здесь: https://stackoverflow.com/questions/246 ... -variables
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»