Помогите исправить код "столкновение клонов"

После того как все огры побеждены остается клон на которого герой не нападает и который его убивает

def findWeakestEnemy():
    enemies = hero.findEnemies()
    weakest = None
    leastHealth = 99999
    enemyIndex = 0
    for enemy in  enemies:
        if enemy.health < leastHealth:
            weakest = enemy
            leastHealth = enemy.health
    return weakest
while True:
    flag = hero.findFlag()
    weakestShaman = findWeakestEnemy()
    if flag:
        hero.pickUpFlag(flag)
    if weakestShaman and weakestShaman.type != "sand-yak":
        if hero.isReady("bash"):
            hero.bash(weakestShaman)
        else:
            hero.attack(weakestShaman)
 

Прошел я этот уровень. Проблема была в коде была в том, что у клона всегда 100% здоровья.

def findWeakestEnemy():
    enemies = hero.findEnemies()
    weakest = None
    leastHealth = 99999
    enemyIndex = 0
    for enemy in  enemies:
        if enemy.health < leastHealth:
            weakest = enemy
            leastHealth = enemy.health
    return weakest
while True:
    enemy = hero.findNearestEnemy()
    
    flag = hero.findFlag()
    weakestEnemy = findWeakestEnemy()
    if flag:
        hero.pickUpFlag(flag)
    if weakestEnemy and weakestEnemy.type != "sand-yak":
        if hero.isReady("bash"):
            hero.bash(weakestEnemy)
        if hero.isReady("chain-lightning"):
            hero.cast("chain-lightning", weakestEnemy)
        else:
            hero.attack(weakestEnemy)
            hero.attack(enemy)

Здравствуйте! У меня вопрос касаемо 3 строк в коде:
weakest = None
leastHealth = 99999
enemyIndex = 0
Перевод мне понятен, но что это означает, разобраться не могу. Почему переменной “слабейший”(weakest) присваивается значение “ничего”, а не ноль? Почему “наименьшее здоровье”(leastHealth)=99999? Означает ли myIndex = 0, что отсчёт нумерации врагов ведётся , начиная с первого по списку? Если, кто-нибудь объяснит эти строчки понятным языком (я - новичок в питоне), я буду очень признательна…

Привет @Lucid и добро пожаловать на форум! :partying_face: Это дружелюбное место, где вы можете попросить помощи на уровнях, сообщить об ошибках или просто поболтать с другими кодерами! Не забудьте прочитать руководящие указания, если еще не прочитали. Желаю хорошо провести время!

“weakest” - это переменная, которая не предназначена для чисел, поэтому вместо 0 ставится “None”.

поскольку “least health”, вероятно, используется в “for loop”, ему необходимо найти наименьшее доступное число, и ни у одного элемента нет очков здоровья, превышающих 99999, поэтому, чтобы получить наименьшее значение, должно быть более высокое число бить.

А что до этого, ответ - да

*Примечание: не забудьте отформатировать свой код, чтобы лучше понять его в следующий раз.