Need help protect-and-serve. Why hero never stop summon archer?

It’s how loops work in python. range(5) counts from 0 to 4:
0, 1, 2, 3, 4
Notice that there are 5 numbers.

Items in a list in python are zero-based. That means, the first item has an index of 0.

items = ["first", "second", "third", "fourth", "fifth"]
hero.say(items[0]) # hero says "first"
hero.say(items[1]) # hero says "second"
hero.say(items[2]) # hero says "third"
hero.say(items[3]) # hero says "fourth"
hero.say(items[4]) # hero says "fifth"