Выдает ошибку в уровне "Честная битва" в пустыне


#1

Всем привет. Не могу пройти уровень. Что написал не так? Пишет “ошибка типа данных”. На строку где вызываю функцию sumFriends = sum(friends)
Заранее спасибо.

# Атакуй, когда общее здоровье солдат будет больше,
# чем общее здоровье огров.

# Напиши функцию, которая принимает на вход массив юнитов
# И возвращает их суммарное здоровье
def sum(mas):
    massiveIndex = 0
    sumHealth = 0
    while massiveIndex < len(mas):
        sumHealth += mas[massiveIndex].health
        massiveIndex += 1
    return sumHealth 

while True:
    friends = hero.findFriends()
    enemies = hero.findEnemies()
    # Подсчитай общее здоровье твоих солдат и огров.
    sumFriends = sum(friends)
    #hero.say(sumFriends)
    sumEnemies = sum(enemies)
    # Скажи "Attack", когда на твоей стороне будет превосходство в здоровье.
    if sumFriends > sumEnemies:
        hero.say("Attack")


#2

Пожалуйста, отформатируйте свой код в соответствии с FAQ.


#3

Код у вас верный. Но вот название функции вызывает проблему sum - это встроенная функция в Пайтоне и поэтому интерпретатор некорректно обрабатывает ваш код. Попробуйте переименовать вашу функцию - даже sum0 подойдет


#4

Спасибо, все получилось!