Python stops at a print statement
<pre><code>while Winner == "":
    while First_Player_Turn == "Y":
        while rtd != "":
            try:
                rtd = input("{} press enter to roll the dice".format(First_Player))
                if rtd == "":
                    dice = random.randint(1, 6)
                    First_Player_Position = dice + First_Player_Position
                    steps_left = 50 - First_Player_Position
                    print("{} needs {} steps to finish".format(First_Player, steps_left))
                    if First_Player_Position &gt;= 50:
                        Winner = "Y"
                    First_Player_Turn = "N"
                    Second_Player_Turn = "Y"
                    print("Test to see if this is printed - It is but not in wingide")
                    continue
             except:
                    print("Please press enter")                    
    while Second_Player_Turn == "Y":
</code></pre>

<p>I have tested this multiple times and I have found out that wingide doesn't show the Tested part but normal Python does. What I want to happen is when it has run through the <code>First_Player_Turn</code> loop to go to the <code>Second_Player_Turn</code> loop.</p>

<p>You do not show the initialisation of the string variables. Your program starts with the following:</p>

<pre><code>while Winner == "":
    while First_Player_Turn == "Y":
        while rtd != "":
</code></pre>

<ul>
<li>If <code>Winner</code> is initialised as <code>""</code>, the outer loop will run.</li>
<li>If <code>First_Player_Turn</code> is initialised as <code>"Y"</code>, the middle loop will run.</li>
<li>If <code>rtd</code> is <em>not</em> initialised as <code>""</code>, the inner loop will run.</li>
</ul>

<p>Because you haven't shown the initialisation of <strong>all</strong> three variables, you're obviously relying on magic for them to start with exactly the right values. Because that is unlikely, odds on <em>none</em> of the loops will run.</p>

python