There are plenty of ways to play this level, that is what makes it fun and challenging. A few things to think about with your code so far.
At this point, you are only attacking two types of enemies and allowing the other types to attack you without any defense or counter attack. Also, the throwers don’t usually get close to you so your combination of distance less than three and thrower type will likely prevent you from attacking the thrower type.
if hero.distanceTo(enemy) < 3:
if enemy.type == "thrower" or enemy.type == "ogre":
What hero are you using and what other gear do you have?