Я практикую с «Думай Python», Упражнение 8.1, что:Python: Передача функции аргументов для строк
«Написать функцию, которая принимает строку в качестве аргумента и отображает буквы в обратном направлении, по одному в каждой строке.»
Я могу сделать этот вопрос, используя банан в качестве примера для печати каждой буквы в строке.
index = 0
fruit = "banana"
while index < len(fruit):
letter = fruit[len(fruit)-index-1]
print letter
index = index + 1
Однако, я хотел бы обобщить ситуацию любых входных слов, и я получил эту проблему, мой код
index = 0
def apple(fruit):
while index < len(fruit):
letter = fruit[len(fruit)-index-1]
print letter
index = index + 1
apple('banana')
Соответствующие ошибки:
Traceback (most recent call last):
File "exercise8.1_mod.py", line 21, in <module>
apple('banana')
File "exercise8.1_mod.py", line 16, in apple
while index < len(fruit):
UnboundLocalError: local variable 'index' referenced before assignment
Я думаю, должны быть проблемы, связанные с используемыми аргументами функции. Любая помощь будет оценена.
Просто введите свой 'index = 0' внутри вашей функции (в начале ее). – BrenBarn
@BrenBarn, если вы объясните ему, ему нужно держать внутри, чтобы он мог узнать о локальных и глобальных переменных правильно? :) –