title: Randint doesn't always follow uniform distribution
body: <p>I was playing around with the random library in Python to simulate a project I work and I found myself in a very strange position.</p>
  
  <p>Let's say that we have the following code in Python:</p>
  
  <pre><code>from random import randint
  import seaborn as sns
  
  a = []
  for i in range(1000000):
      a.append(randint(1,150))
  
  sns.distplot(a)
  </code></pre>
  
  <p>The plot follows a “discrete uniform” distribution as it should.</p>
  
  <p><a href="https://i.stack.imgur.com/U2VQE.png" rel="noreferrer"><img src="https://i.stack.imgur.com/U2VQE.png" alt="Range betwee 1 and 150"></a></p>
  
  <p>However, when I change the range from 1 to 110, the plot has several peaks.</p>
  
  <pre><code>from random import randint
  import seaborn as sns
  
  a = []
  for i in range(1000000):
      a.append(randint(1,110))
  
  sns.distplot(a)
  </code></pre>
  
  <p><a href="https://i.stack.imgur.com/jNVtV.png" rel="noreferrer"><img src="https://i.stack.imgur.com/jNVtV.png" alt="Range from 1 to 110"></a></p>
  
  <p>My impression is that the peaks are on 0,10,20,30,... but I am not able to explain it.</p>
  
  <p><strong>Edit:</strong> The question was not similar with the proposed one as duplicate since the problem in my case was the seaborn library and the way I visualised the data.</p>
  
  <p><strong>Edit 2:</strong> Following the suggestions on the answers, I tried to verify it by changing the seaborn library. Instead, using matplotlib both graphs were the same</p>
  
  <pre><code>from random import randint
  import matplotlib.pyplot as plt
  
  a = []
  for i in range(1000000):
      a.append(randint(1,110))
  
  plt.hist(a) 
  </code></pre>
  
  <p><a href="https://i.stack.imgur.com/UYqiA.png" rel="noreferrer"><img src="https://i.stack.imgur.com/UYqiA.png" alt="From matplotlib"></a></p>