я в настоящее время создания цикла в то время как питон, и я получил эту проблему:локальная переменная «оператор» обращаться до присвоения
local variable 'statement' referenced before assignment
Это мой код:
while (statement == True):
self.headNode = settings.EMPTY_UUID
try:
lastNode = Task.objects.get(next = self.headNode)
self.headNode = lastNode.id
statement = True
except:
statement = False
Я беспокоюсь, если я initialize statement = True before while statement, потому что он может стать бесконечным циклом
Например, это данные Task.objects:
id name next
001 task1 002
002 task2 003
003 task3 000
Я хотел бы получить Id корневой задачи, которая должна быть 001
Если вы можете получить бесконечный цикл на этом, то вы, вероятно, должны исправить **, что ** проблема с вашей связанной ведомой вещью DB –
_ «Я волнуюсь, если я инициализирую оператор = Истинное до того времени, потому что оно может стать бесконечным петля "_ - Почему вы так думаете? Предполагая, что ваши условия для нарушения контроля из вашего цикла верны, вы не получите бесконечный цикл. Похоже, что реальная проблема кроется с остальной частью вашего кода. _ ** Начать там ** _ –
Абсолютно ничего плохого в объявлении '' '' '' True' перед циклом. На самом деле вы могли бы сделать «while True:», а затем «break» выйти из цикла, когда условие выполняется в цикле. Вам просто нужно подумать о том, что происходит внутри цикла, и убедиться, что он выйдет из него **:) ** – BorrajaX