Я попытался понять это, посмотрев в предыдущих темах, но я все еще не понимаю, почему я получаю эту ошибку только для одной из двух переменных в следующем фрагменте кода (код отстой, который я знаю): < /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
Локальная переменная, на которую ссылается перед назначением только для некоторых переменных ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
На что ссылается локальная переменная post перед присвоением? [закрыто]
Anonymous » » в форуме Python - 0 Ответы
- 64 Просмотры
-
Последнее сообщение Anonymous
-