While loop not repeating once information in entered
<p>Making a program which has a list of the different star signs, then asks the user to enter what star sign they are and then for the program to check that is contained in the list before moving on. </p>

<p>The problem is that it does check that it is in the list, but it does not repeat.</p>

<pre><code>play = True

while play:
    print("Welcome to my Pseudo_Sammy program, please enter your name, star sign and then your question by typing it in and pressing the enter key, and I will give you the answer to your question")
    name = input("What do they call you? ")
    starsigns = ("leo", "virgo", "libra", "scorpio", "sagittarius", "capricorn", "aquarius", "pisces", "aries", "taurus", "gemini", "cancer")
    starsign = str(input("What star do you come from? ")).lower()
    while True:
        try:            
            if starsign in starsigns:
                break
            else:
                raise
        except:
            print("Please enter a valid star sign")
            question = input("What bothers you dear? ")
</code></pre>

<p>if you want to repeat an <code>input</code> until you get a valid answer and THEN ask the next question, you need to place the 1st input inside <code>while</code> loop and the 2nd input outside the loop, like this:</p>

<pre><code>starsigns = ("leo", "virgo", ...)
starsign = None
while starsign not in starsigns:
    if starsign:
        print("Please enter a valid star sign: {}.".format(", ".join(starsigns)))
    starsign = input("What start do you come from? ").lower().strip()
question = input("What bothers you dear? ")
</code></pre>

python