mardi 4 mai 2021

Python elif statements are changing type from float to list

First time posting so apologizes if formatting is incorrect. My program has 2 lists for now. I I will be adding 4 more after solving this initial issue. One for and item the user selects, and a second with prices for the each item. I have written a code for user selection which runs.

My issue comes with the code for the program associating the item selected with the price list. My first if statement registers item_price as a float, which I gives me what I need. Item_price in the following elif statements are being seen as a list. How can I change them to a float so that the price prints instead of the list?

food=["burger", "pizza", "hotdogs", "tacos"]
food_price=[8.99, 22.50, 3.50, 6.00]

def get_menu_item(item,item_list,):

    phrase = "Would you like" + item + "? [y/n] "

    response = input(phrase)

    if response == "y":
        print("Here are your menu options:", item_list)

        idx = input("please enter the item you would like from our menu[1,2,3,4]: ")

        idx = int(idx) -1

        return item_list[idx]
        

#if user selects [n]
    else:
        return (None)


#item price function

def get_item_price(item_price,item,item_list):

    if item == item_list[0]:
        item_price = item_price[0]
        
    elif item == item_list[1]:
        item_price == item_price[1]
        
    elif item == item_list[2]:
        item_price == item_price[2]
        
    elif item == item_list[3]:
        item_price == item_price[3]

    return item_price

entree_choice = get_menu_item(" dinner",food)

print('You have selected: ' + entree_choice + ".")

entree_price = get_item_price(food_price,entree_choice,food)

print(entree_price)

Aucun commentaire:

Enregistrer un commentaire