Am I using the isalpha() method in my while loop correctly (Python)?
<p>I want to allow the user to construct an argument using premises (sentences that support your argument) and a conclusion. I want the program to raise a question (yes/no) if the user wants to add an additional premises after the first one. If yes --> premises: ____, If no --> Conclusion: ____. The problem is that i can write no for the additional premises question (or anything) and it'd take that input and make another premises. </p>

<p>Thank you in advance for any help!</p>

<pre><code>print("Welcome to the argument-validity test!")       

def premises_conclusion():

    premises_1 = raw_input("Premises: ")
    premises_qstn = raw_input("Would you like an additional premises(yes/no)? ")
    additional_premises = raw_input("Premises: ")

    while premises_qstn.isalpha():

        additional_premises = raw_input("Premises: ")

        if premises_qstn == 'yes':
            additional_premises = raw_input("Premises: ")

        elif premises_qstn == "no":
            break

        else:
            print("Please enter yes or no.")

    conclusion = input("Conclusion: ")

premises_conclusion()




# When i use additional_premises in line 7, the while statement asks the additional
# premises even if i say 'no'.

# When i delete additional_premises in line 7, the while statement only skips
# to the conclusion (acts like i said no for yes). No matter what I say it
# skips to the conclusion.
</code></pre>

<p>These lines seem problematic:</p>

<pre><code>premises_qstn = raw_input("Would you like an additional premises(yes/no)? ")
additional_premises = raw_input("Premises: ")
</code></pre>

<p>It asks if you want additional premises, but doesn't check the input (<code>premises_qstn</code>) before immediately asking for more no matter what.</p>

<p>Then, the first line inside the while loop asks for premises <em>again</em>, but the loop breaking condition of <code>elif premises_qstn == "no":</code> still hasn't been checked.</p>

python while-loop