У меня проблема при вызове моей функции, я получаю плохой результат, как я объясню позже в тексте.Исключения и выходные данные
Это те ресурсы, я работаю с:
Main_Building=[10,12,14,17,21,25,30,36,43,52,62,74,89,107,128,154,185,222,266,319,383,460,552,662,795,954,1145,1374,1648,1978]
Barracks=[16,19,23,28,33,40,48,57,69,83,99,119,143,171,205,247,296,355,426,511,613,736,883,1060,1272]
Stables=[20,24,29,35,41,50,60,72,86,103,124,149,178,214,257,308,370,444,532,639]
Workshop=[24,29,35,41,50,60,72,86,103,124,149,178,214,257,308]
Blacksmith=[19,23,27,33,39,47,57,68,82,98,118,141,169,203,244,293,351,422,506,607]
Market=[10,12,14,17,21,25,30,36,43,52,62,74,89,107,128,154,185,222,266,319,383,460,552,662,795]
Axe=[6,7,9,10,12,15,18,21,26,31,37,45,53,64,77,92,111,133,160,192,230,276,331,397,477,572,687,824,989,1187]
Clay_Pit=[6,7,9,10,12,15,18,21,26,31,37,45,53,64,77,92,111,133,160,192,230,276,331,397,477,572,687,824,989,1187]
Mine=[6,7,9,10,12,15,18,21,26,31,37,45,53,64,77,92,111,133,160,192,230,276,331,397,477,572,687,824,989,1187]
Settler_House=[5,6,7,9,10,12,15,18,21,26,31,37,45,53,64,77,92,111,133,160,192,230,276,331,397,477,572,687,824,989]
Warehouse=[6,7,9,10,12,15,18,21,26,31,37,45,53,64,77,92,111,133,160,192,230,276,331,397,477,572,687,824,989,1187]
Wall=[8,10,12,14,17,20,24,29,34,41,50,59,71,86,103,123,148,177,213,256]
Вот мой код:
def buildings(points):
for i in range(0,30):
try:
if Main_Building[i]>=points:
del Main_Building[i:]
if Barracks[i]>=points:
del Barracks[i:]
if Stables[i]>=points:
del Stables[i:]
if Workshop[i]>=points:
del Workshop[i:]
if Blacksmith[i]>=points:
del Blacksmith[i:]
if Market[i]>=points:
del Market[i:]
if Axe[i]>=points:
del Axe[i:]
if Clay_Pit[i]>=points:
del Clay_Pit[i:]
if Mine[i]>=points:
del Mine[i:]
if Settler_House[i]>=points:
del Settler_House[i:]
if Warehouse[i]>=points:
del Warehouse[i:]
if Wall[i]>=points:
del Wall[i:]
except IndexError:
continue
Проблема заключается в том, когда речь идет условие Кузнеца, он смотрит на меня, как условие только передается, и то же самое для других, продолжающих состояние стены. Условие определяет, где остановиться и удалить остальную часть списка для дальнейшего использования. Списки имеют разную длину, поэтому я использовал простое исключение, когда оно выходит за пределы диапазона, оно просто пропускает и переходит к следующему условию.
Предложенное выход при Защиту зданий (100):
Blacksmith=[19,23,27,33,39,47,57,68,82,98]
Фактический выход весь список без каких-либо изменений. То же самое относится к продолжающемуся состоянию.
Что я пробовал:
Я попытался перезагрузить Python, но, к сожалению, не так.
Если я ошибочно набрал имя переменной.
Повторный интервал при каждом состоянии.
Может быть решение, но не эффективно, добавив к каждому условию исключение? (Не очень хорошая идея на мой взгляд).
Почему это пропускает условия?
Благодарим за помощь и время.
Спасибо, сейчас я получаю. Какая ужасная ошибка, которую я совершил. –