Search code examples
pythonpython-3.xloopsif-statementwhile-loop

How do I skip next if condition is not met?


I'm trying to loop back to get another input if the input does not match, but it ends the program from there.

I have tried this code:

 print ('What would you like to purchase?')
    buy = input('(Enter what you would like to purchase?)') 
    if buy not in items_for_sale_today2: 
        print ('Please try again')
    else:
        purchase = input('How many {buy} would you like to purchase?'.format(buy = self.buy))

as well as:

 print ('What would you like to purchase?')
    buy = input('(Enter what you would like to purchase?)') 
    while buy not in items_for_sale_today2: 
        print ('Please try again')
    else:
        purchase = input('How many {buy} would you like to purchase?'.format(buy = self.buy))

but while function will keep printing 'Please try again' instead of looping back


Solution

  • in case 2 you need to take input from the user again

    print ('What would you like to purchase?')
    buy = input('(Enter what you would like to purchase?)') 
    while buy not in items_for_sale_today2: 
        print ('Please try again')
        buy = input('(Enter what you would like to purchase?)') 
    else:
        purchase = input('How many {buy} would you like to purchase?'.format(buy = self.buy))