title: Strange output while iterating in Python using While loop and If statement
body: <p>I am trying to iterate over the range (1,10).</p>
  <p>For each number in the range, I want to apply the below logic.</p>
  <ol>
  <li><p>If the number is even at the start or turns even at a subsequent stage, I would like to collect the quotient of the number devided by 2 in a list.</p>
  </li>
  <li><p>If the number is odd at the start or turns odd at a subsequent stage, I would like to collect - triple the number plus one (3*X+1) - in the same list.</p>
  </li>
  <li><p>I want to repeat steps 1 &amp; 2 on the newly collcted number, as the case may be, until the quotient is 1.</p>
  </li>
  <li><p>The list shall start with the original number and end with the last quotient, which is 1.</p>
  </li>
  </ol>
  <p>I have written the below code and it is working fine for all initial values, excepting when the initial value is 3 or 6 (ie., when i is 3 or 6). The output for 3 should have been [3,10,5,16,8,4,2,1] and for 6 shall be [6,3,10,5,16,8,4,2,1]. Instead, I am getting  just [3,1] and [6,3,1] respectively. Why is this? Any feedback will be appreciated.</p>
  <pre><code>d ={}
  for i in range(1,10):
      x=i
      l=[x]
      while (x // 2) != 1:
          if (x%2) == 0:
              l.append(x//2)
              x=x//2
          else:
              l.append(x*3+1)
              x=x*3+1
      l.append(x//2)
      d[i] = l
  pd.DataFrame(dict([(k,pd.Series(v)) for k,v in d.items()]))
  
      1       2       3       4       5       6       7       8       9
  0   1.0     2.0     3.0     4.0     5.0     6.0     7.0     8.0     9
  1   4.0     1.0     1.0     2.0     16.0    3.0     22.0    4.0     28
  2   2.0     NaN     NaN     1.0     8.0     1.0     11.0    2.0     14
  3   1.0     NaN     NaN     NaN     4.0     NaN     34.0    1.0     7
  4   NaN     NaN     NaN     NaN     2.0     NaN     17.0    NaN     22
  5   NaN     NaN     NaN     NaN     1.0     NaN     52.0    NaN     11
  6   NaN     NaN     NaN     NaN     NaN     NaN     26.0    NaN     34
  7   NaN     NaN     NaN     NaN     NaN     NaN     13.0    NaN     17
  8   NaN     NaN     NaN     NaN     NaN     NaN     40.0    NaN     52
  9   NaN     NaN     NaN     NaN     NaN     NaN     20.0    NaN     26
  10  NaN     NaN     NaN     NaN     NaN     NaN     10.0    NaN     13
  11  NaN     NaN     NaN     NaN     NaN     NaN     5.0     NaN     40
  12  NaN     NaN     NaN     NaN     NaN     NaN     16.0    NaN     20
  13  NaN     NaN     NaN     NaN     NaN     NaN     8.0     NaN     10
  14  NaN     NaN     NaN     NaN     NaN     NaN     4.0     NaN     5
  15  NaN     NaN     NaN     NaN     NaN     NaN     2.0     NaN     16
  16  NaN     NaN     NaN     NaN     NaN     NaN     1.0     NaN     8
  17  NaN     NaN     NaN     NaN     NaN     NaN     NaN     NaN     4
  18  NaN     NaN     NaN     NaN     NaN     NaN     NaN     NaN     2
  19  NaN     NaN     NaN     NaN     NaN     NaN     NaN     NaN     1
  </code></pre>