I need help with this coding for a menu

I need help with this slightly advance code that i created. I have managed to allow the user to input at the start but then when i want them to get more info on a product it just gives the last option. the bit i need help on is in bold:

def print_menu():
print(30 * “-” , “Menu de spécialités” ,30 * “-”)
print(“Welcome to The Kitchen”)
print(“1. Starters”)
print(“2. Main Courses”)
print(“3. Desserts”)
print(“4. Sides”)
print(“5. Exit”)
print(80 * “-”)

loop=True

while loop:
loop=False
print_menu()
choice = int(input("What would be your choice for today? [1-5] "))

if choice==1:
    print("Starters have been selected")
    print("Here is the list for the Starters Menu: ")
    **print("1.Popadom with pickle tray")**

** print(“2.Seekh Kebab”)**
** print(“3.Chicken Wings”)**

** Letter = input("Please write a letter to view more information… ")**


** if Letter==1:**
** print(“Our popadoms are always made by hand to the delight of our customers served with a delicate fresh pickle tray”)**

** elif Letter==2:**
** print(“The Seekh Kebab is a tender mincemeat with onions, herbs, fresh coriandor & green chillies cooked over charcoal”)**

** else:**
** print(“Our chicken wings are pieces of boneless chicken marinated in herbs and spices (ginger, garlic, fresh coriander) cooked over charcoal served with salad, plum tomatoes and spiced with roasted fennel cumin and onion seeds.”)**

elif choice==2:
    print("Main Courses have been selected")


elif choice==3:
    print("Desserts have been selected")
    

elif choice==4:
    print("Sides have been selected")
    loop=True


else:
    print("Thank you for visiting The Kitchen")

This is the bit i need help on specifically:

if choice==1:
    print("Starters have been selected")
    print("Here is the list for the Starters Menu: ")
    print("A.Popadom with pickle tray")
    print("B.Seekh Kebab")
    print("C.Chicken Wings")


    Letter = input("Please write a letter to view more information...  ")

    if Letter==1:
        print("Our popadoms are always made by hand to the delight of our customers served with a delicate fresh pickle tray")

    elif Letter==2:
        print("The Seekh Kebab is a tender mincemeat with onions, herbs, fresh coriandor & green chillies cooked over charcoal")

    else:
        print("Our chicken wings are pieces of boneless chicken marinated in herbs and spices (ginger, garlic, fresh coriander) cooked over charcoal served with salad, plum tomatoes and spiced with roasted fennel cumin and onion seeds.")
   Letter = input("Please write a letter to view more information...  ")
   if Letter==1:

The most obvious problem is that Letter is a string (input() returns a
string). You’re comparing to an integer. That will always be false.
Look:

>>> "1" == 1
False
>>> "1" == "1"
True

Try:

if Letter == "1":

etc.

Finally, print() is your friend. A print inside and if-statement tells
you if it got used. A print lets you print out that values of things,
including tests:

print(Letter, type(Letter))
print(1, type(1))
print("Letter == 1", Letter == 1)

Put that before the if-statement and things should be more clear.

Cheers,
Cameron Simpson cs@cskk.id.au

1 Like

Thank you so much, I’m so grateful! @cameron