On 03/15/2013 06:09 PM, Christopher Emery wrote:

------ Hugo said:
----
----1. ask a question, receive an answer
----2. if the answer is "Yes" or "No", return the answer
----3. else, print a message and go back to step 1


Hello Hugo,

# Defines the start of a function and its options (question)
def question_y_n(question):

#1. Ask Question from user, user enters either Yes, No or whatever
(anything that is not Yes or No)
     answer = input(question) # prompts the user and assigns the answer
to var answer

#2. If the user had entered anything but Yes then a while loop starts
and becomes True (meaning it is not a Yes) so it must be either No or
something else
     while(answer != "Yes"):

Hugo's function description is perfectly symmetric with regard to Yes & No. But you've changed that, both in your new description, and in your code. Why is the "while" checking only for "Yes" when it should be checking for either/both?


  <SNIP>

I was thinking of combining the Yes and No into one check however I
was having trouble finding resource of how to do mulitiy checks in a
statement for while.

thinking like this:

def question_y_n(question):
     answer = input(question)
     while(answer != "Yes" Or "No"): #This is wrong code
         print("Please enter Yes or No for your response!")
         answer = input(question)
or


Do you understand about compound if/while expressions? You can combine boolean expressions with 'and' and 'or' .

For example, if you had wanted to check for either 4 or 12, you might do something like:
    if myint == 4 or myint == 12:
           do something
    else:
           do something else



--
DaveA
_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor

Reply via email to