Hi There,
In a nutshell, I have a simple code for a Menu where the user has options to select different menu items from the selection. Certain menu selections lead to sub-options. I am having difficultly understanding nested IF, Else and elif statements.. I've played around "elif" and "if" statements and have fluked my way to get it working. I need a PRO to elaborate and clearly advise where my mistake was. If possible, lead me to a webpage to understand these concepts better.
In the following code I have colored my comments in blue where I describe my actual problem and this is also where the error is located.
This is also my first time posting. Please advise If I haven't followed protocol or need to change my post in any way.
Thank you,
JEdi
code:
#Although if I change the above "if" statement (i.e. if (UserChoice == 1):) to "elif" (i.e. elif (UserChoice == 1):). Then the app behaves #accordingly.
#Can you please explain why this occurs? and shed some light on nested IF/Else/elif statements
In a nutshell, I have a simple code for a Menu where the user has options to select different menu items from the selection. Certain menu selections lead to sub-options. I am having difficultly understanding nested IF, Else and elif statements.. I've played around "elif" and "if" statements and have fluked my way to get it working. I need a PRO to elaborate and clearly advise where my mistake was. If possible, lead me to a webpage to understand these concepts better.
In the following code I have colored my comments in blue where I describe my actual problem and this is also where the error is located.
This is also my first time posting. Please advise If I haven't followed protocol or need to change my post in any way.
Thank you,
JEdi
code:
#Program to run Menu for a restaurant based on series of If, elif and else statements print("What would like from the menu??") print("1. Eggs") print("2. Pancakes") print("3. Waffles") print("4. Oatmeal") UserChoice = int(input("Please select a number between 1 and 4: ")) if (UserChoice == 2): MenuItem = "Pancakes" elif (UserChoice == 3): MenuItem = "Waffles" if (UserChoice == 4): MenuItem = "Oatmeal" print ("You have selected", MenuItem, "from the Menu") if (UserChoice == 1):#Currently the app will return top "else" statement (i.e. Else : print ("Wrong Menu Selection. Please select between 1 and 4")) when the #user presses "4" at menu selection. This is incorrect as "4" is part of the menu selection.
#Although if I change the above "if" statement (i.e. if (UserChoice == 1):) to "elif" (i.e. elif (UserChoice == 1):). Then the app behaves #accordingly.
#Can you please explain why this occurs? and shed some light on nested IF/Else/elif statements
MenuItem = "Eggs" print("What bread would you like with your Eggs?") print("1. Wheat Toast") print("2. Sour Dough") print("3. Rye Toast") print("4. Pancakes") BreadChoice = int(input("Please select your bread type")) if BreadChoice == 1: print (" You have selected Wheat Toast with your ", MenuItem) elif BreadChoice == 2: print (" You have selected Sour Dough with your ", MenuItem) elif BreadChoice == 3: print (" You have selected Rye Toast with your ", MenuItem) elif BreadChoice == 4: print (" You have selected Pancakes with your ", MenuItem) else : print ("Wrong selection for", MenuItem, "Please select between 1 and 4") elif (UserChoice == 2) or (UserChoice == 3): print("What topping would yuo like?") print("1. Syrup") print("2. Strawberries") print("3. Powdered Sugar") Topping = int(input("Choose a topping: ")) if Topping == 1: print("You have selected Syrup with ", MenuItem) elif Topping == 2: print("You have selected Strawberries with ", MenuItem) elif Topping == 3: print("You have selected Powdered Sugar with ", MenuItem) else : print(" You have made the wrong Topping Selection") else : print ("Wrong Menu Selection. Please select between 1 and 4")