1answer.
Ask question
Login Signup
Ask question
All categories
  • English
  • Mathematics
  • Social Studies
  • Business
  • History
  • Health
  • Geography
  • Biology
  • Physics
  • Chemistry
  • Computers and Technology
  • Arts
  • World Languages
  • Spanish
  • French
  • German
  • Advanced Placement (AP)
  • SAT
  • Medicine
  • Law
  • Engineering
Ber [7]
3 years ago
7

Before making a dish, we want to check whether we already have the necessary ingredients in our pantry or whether we need to go

shopping. For this problem, you will implement a method needed_ingredients for the Pantry class. needed_ingredients takes a list of recipes as its argument and returns a new Pantry containing everything missing from our pantry to make all the recipes in the list. If our pantry already has all the necessary ingredients in the needed quantities, needed_ingredients returns an empty Pantry. There may be repeated recipes in the input list, and the input list may be empty. Hints: Pantry inherits the methods of its superclass, AD, so you can subtract one pantry from another. If you have an AD and need a Pantry, you can simply call the Pantry constructor on the AD.

Computers and Technology
1 answer:
Leona [35]3 years ago
6 0

Answer:

class Pantry(AD):

              def __init__(self, ingredients):

""" We initialize the Pantry class by passing the ingredients that were passed in to the initializer for the superclass AD"""

              super().__init__(ingredients)

              def needed_ingredients(self, recipes):

""" Given a list of recipes, computes which ingredients to buy, and in which quantity to be able to make all recipes. Can be implemented in 10 lines of code."""

              # define the object new_pantry to contain the ingredients needed

               new_pantry = Pantry({})

                ingredients_present = self

                # loop over the recipes in the list

                for recipe in recipes:

                        # convert ingredients of recipe from AD to Pantry

                        ingredients = Pantry(recipe.ingredients)

                        # subtract the recipe's ingredients from ingredients_present

                          ingredients_present = ingredients_present - ingredients

                        # loop over the ingredients_present for key in ingredients_present:

                       # if any ingredients's quantity < 0, add it to new_pantry

                                                           if ingredients_present[key] < 0:

# check if ingredient is present in new_pantry, add the quantity to existing quantity

                                                               if key in new_pantry:

                                            new_pantry[key] += -1*(ingredients_present[key])

else: # if ingredient is not present in new_pantry, make a new entry for the ingredient

                                               new_pantry[key] = -1*(ingredients_present[key])

ingredients_present[key] = 0      # set the quantity of the ingredient in ingredients_present to 0

Explanation:

I believe everything else is provided in the question.

Copy all the details you were provided in the question as it is and add the needed_ingredients in the Pantry class.

If you are getting any assertion error, Update the code to set the negative quantities in ingredients_present to 0

You might be interested in
10.13 lab 10c: output range with increment of 5 write a program whose input is two integers. output the first integer and subseq
Lynna [10]

he program gives an output in increment of 5, if the first inputted integer is less than the second. The program written in python 3 goes thus

3 0
2 years ago
I was wondering how to give a person a Brainliest answer. Could someone please explain to me the steps on to giving someone a Br
alina1380 [7]
When more than 1 person gives an answer to your question, you receive the option to tick the one you think is more well-explained or thought out in order to make that the Brainliest Answer :)
4 0
3 years ago
The network backbone
NNADVOKAT [17]

Answer:

it would be b

Explanation:

think about it

5 0
3 years ago
Match the following C# terms:
svlad2 [7]

Answer:

1.c 2.b 3.a

Explanation:

6 0
3 years ago
1 _ A Unit of information containing the object's position: rotation, and scale values is called:
Damm [24]

Answer:

an inform

Explanation:

A information is an inform

4 0
3 years ago
Other questions:
  • Consider the following program segment. ifstream inFile; //Line 1 int x, y; //Line 2 ... //Line 3 inFile &gt;&gt; x &gt;&gt; y;
    13·1 answer
  • • Describe the steps in detail that the operating system performs to handle interrupts, including ISRs, the stack, and hardware?
    5·1 answer
  • You have been asked to troubleshoot a legacy system running a critical component on your employer's network. Initial findings in
    7·1 answer
  • Hey so, I was looking online how to reset my laptop and I ended up pressing load setup defaults and now I get an error saying ch
    15·2 answers
  • Using the flowchart diagram, identify the decision point of this solution. Identify vendors. Calculate amount due. Determine dat
    12·2 answers
  • Please Help ASAP! 30 Points! Will Mark Brainliest! Please Don't Waste Answers! It's Due In 40 Minutes Please Help Me!
    12·1 answer
  • Which is a good guideline to follow when looking for research material on the Internet?
    10·2 answers
  • Write a Python program that accepts a year written as a four-digit Arabic (ordinary) numeral and outputs the year written in Rom
    8·1 answer
  • Why do you need to learn about engineering and technology.
    13·2 answers
  • A program that organizes sequences of automated provisioning tasks. A. Application Packager B. Sequence Manager C. Sequence Logg
    14·1 answer
Add answer
Login
Not registered? Fast signup
Signup
Login Signup
Ask question!