title: python for loops being started at 1st element no 0th element
body: <p>I am writing a simple text-based RPG battle simulator using Python (running on PyCharm). I created a class called Person which has initialization parameters as follows:</p>
  
  <pre><code>def __init__(self, name, HP, MP, ATK, DEF, magic, items):
      self.name = name
      self.HP = HP
      etc...
  </code></pre>
  
  <p>this class gets instantiated 3 times in <code>main</code> for 3 unique players (<code>player1, player2, player3</code>). I also have a function <code>get_stats(self)</code> which does </p>
  
  <pre><code>print(self.name + ", HP: " + self.HP + ", MP: " + self.MP)
  </code></pre>
  
  <p>but when I run in <code>main</code> </p>
  
  <pre><code>for player in players:
      player.get_stats()
  </code></pre>
  
  <p>where <code>players = {player1, player2, player3}</code>, I get the output (note that the MP/HP values are arbitrary):</p>
  
  <pre><code>name2, HP: 200, MP: 200
  name3, HP: 300, MP: 300
  name1, HP: 100, MP: 100
  </code></pre>
  
  <p>and if <code>players = {player0, player1, player2, player3}</code>, I get the output :</p>
  
  <pre><code>name2, HP: 200, MP: 200
  name3, HP: 300, MP: 300
  name0, HP: 400, MP: 400
  name1, HP: 100, MP: 100
  </code></pre>
  
  <p>why does this happen and how can I fix it?</p>