Do I use a nested list for the following problem statement - but how?

Viewed 72

what data structure should I use to solve the following problem? A list - but how?

A meal delivery service has 3 types of meals at different price points and 3 customers. Currently there is a list for deliveries ordered with each index representing a customer (so Customer 1 ordered 2 meals). How would i calculate the total earnings for the types of meals that each customer ordered?

meal_types = [happy meal, kids meal, lunch combo]
deliveries_ordered = [[2,1,3],[3,1,2],[1,1,3]]
meal_price = [1.99, 2.99, 3.99]
1 Answers

Perhaps this is what you're wanting?:

meal_types = ['happy meal', 'kids meal', 'lunch combo']
deliveries_ordered = [[2,1,3],[3,1,2],[1,1,3]]
meal_price = [1.99, 2.99, 3.99]
"""
To grab the inner item in a list, we use deliveries_ordered[0][0] which
returns to 2.
deliveries_ordered = [[[0][0],[0][1],[0][2]],[[1][0],[1][1],[1][2]],[[2][0],[2][1],[2][2]]]
"""

for i in range(len(deliveries_ordered)):
    for j in range(len(deliveries_ordered[i])): # Returns len >> Number of Items in the list.
        x = meal_price[i] * deliveries_ordered[i][j]    # Meal price * Number of orders of meal types.
        print("Customer {} ordered {} {}(s). Price: {}".format(j+1,deliveries_ordered[i][j], meal_types[i], x))

Output:

Customer 1 ordered 2 happy meal(s). Price: 3.98
Customer 2 ordered 1 happy meal(s). Price: 1.99
Customer 3 ordered 3 happy meal(s). Price: 5.97
Customer 1 ordered 3 kids meal(s). Price: 8.97
Customer 2 ordered 1 kids meal(s). Price: 2.99
Customer 3 ordered 2 kids meal(s). Price: 5.98
Customer 1 ordered 1 lunch combo(s). Price: 3.99
Customer 2 ordered 1 lunch combo(s). Price: 3.99
Customer 3 ordered 3 lunch combo(s). Price: 11.97
Related