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
Thepotemich [5.8K]
2 years ago
8

I am having trouble with this python question. I am in a beginner level class also so any solution that isn't too complex would

be great so I can wrap my head around it! Thanks!
Given a text file containing the availability of food items, write a program that reads the information from the text file and outputs the available food items. The program first reads the name of the text file from the user. The program then reads the text file, stores the information into four separate lists, and outputs the available food items in the following format: name (category) -- description

Assume the text file contains the category, name, description, and availability of at least one food item, separated by a tab character ('\t').

Ex: If the input of the program is:

food.txt
and the contents of food.txt are:

Sandwiches Ham sandwich Classic ham sandwich Available
Sandwiches Chicken salad sandwich Chicken salad sandwich Not available
Sandwiches Cheeseburger Classic cheeseburger Not available
Salads Caesar salad Chunks of romaine heart lettuce dressed with lemon juice Available
Salads Asian salad Mixed greens with ginger dressing, sprinkled with sesame Not available
Beverages Water 16oz bottled water Available
Beverages Coca-Cola 16oz Coca-Cola Not available
Mexican food Chicken tacos Grilled chicken breast in freshly made tortillas Not available
Mexican food Beef tacos Ground beef in freshly made tortillas Available
Vegetarian Avocado sandwich Sliced avocado with fruity spread Not available
the output of the program is:

Ham sandwich (Sandwiches) -- Classic ham sandwich
Caesar salad (Salads) -- Chunks of romaine heart lettuce dressed with lemon juice
Water (Beverages) -- 16oz bottled water
Beef tacos (Mexican food) -- Ground beef in freshly made tortillas

Computers and Technology
1 answer:
Delicious77 [7]2 years ago
5 0

The code:

filename = input("> ")

with open(filename, "r") as file:

   items = file.read()

   items = items.split("\n")

   for index, item in enumerate(items):

       items[index] = item.split("\t")

   for item in items:

       if item[3] == "Available":

           print(f"{item[1]} ({item[0]}) -- {item[2]}")

Explenation:

1. We make the user enter the file's path, in our case "food.txt". This does only work if the .txt file is in the <u>same</u> directory as our code.

2. We get the content of our .txt file with the "open" function. If we use the "open" function inside of a "with" statement we don't have to deal with closing the file after we opened it. The file will close as soon as we exit the statement. The argument "r" indicates that we only want to read the file, not do anything else with it.

3. However the variable "file" doesn't contain the <u>contents</u> of "food.txt", only the class object of our file (if you try "print(file)" you'll only get nonsense). We can simply get the content of the file by calling ".read()" after.

4. We can separate this long str using the ".split()" function. The split function seperates a string by another sertain string (in our case "\n", since the different items are seperated by a newline). Now "items" is a list of strings.

5. Next we go through all items in "items" and separate them by "\t", again using the ".split()" function. Enumerate makes a list of indexes and values from another list (in our case, "items").

6. Now we have a list of lists of strings. The only thing left to do is go through every item and print it if the item's third item is equal to "Available" (notice that this is case-sensative). And print out the result in the desired format.

The code works for me, please ask me if there is anything you don't understand (or if the code is incorrect). Happy to help :D

You might be interested in
Discussion Topic
frozen [14]

The advantages of using spreadsheets for managing personal finances is that:

  • Spreadsheets are known to be tools that are very quick and easy and helps one to add into a workflow.
  • Spreadsheets are regarded as an efficient tools for financial documents. A person can have access to a lot of spreadsheet templates and they can be able to visualize data along with caveats.

<h3>What is the advantage of using a spreadsheet?</h3>

The Advantage is that it is one that help[s a person to be able to organizing a lot of data.

Note that The advantages of using spreadsheets for managing personal finances is that:

  • Spreadsheets are known to be tools that are very quick and easy and helps one to add into a workflow.
  • Spreadsheets are regarded as an efficient tools for financial documents. A person can have access to a lot of spreadsheet templates and they can be able to visualize data along with caveats.

Learn more about spreadsheets  from

brainly.com/question/26919847

#SPJ1

6 0
2 years ago
What will be the results of executing the following statements? x.setEditable(true); x.setText("Tiny Tim"); a. The text field x
maxonik [38]

Answer:

Option B: The text field x will have the value "Tiny Tim" and the user will be able to change its value.

Explanation:

  • The first statement say:  x.setEditable(true);

It will only change the property of the text present in x to editable. This means that whenever the text value needs to change the user can edit it.

  • The second statement say:   x.setText("Tiny Tim");

It will put the text "Tiny Tim" into the attribute x and present it as the output or result.

6 0
3 years ago
Who benefits from digital technology?
Svetradugi [14.3K]

Answer:

Well, the answer is simple. Everybody!

Explanation:

6 0
3 years ago
What are the benefits of team collaboration?
guapka [62]

Pretty simple. Ever heard of the saying 'More minds are better than one'? Well, it's true. Not only would you come up with better answers with a shared opinion, your opinions and ideas are less biased from past experiences, so they are more accurate every time!. Plus, in terms of a team collab, tasks can be completed faster if everybody focuses on different things instead of one.

:)

4 0
3 years ago
Read 2 more answers
Dante went to change the date for an appointment in his Outlook calendar. He double-clicked in the appointment and made the chan
meriva

The correct answer is that Dante did not click the Save and Close button before exiting the appointment.

When you make a change to an appointment in the Outlook calendar you need to click on Save in order to have the change saved in your calendar. If you do not do this the appointment will revert back to the original time and date when you exit the program.

3 0
3 years ago
Other questions:
  • A way to have cells in your spreadsheet change formats based on the value of the cells is called ________.
    8·1 answer
  • If you want an app to reach the largest possible audience, which two platforms should you use?
    7·1 answer
  • Which one of these tasks best describes the process of localization?
    12·1 answer
  • What’s good and bad about having social media?
    14·2 answers
  • What does my name look like in binary code, btw my mane is Wendy Alexis Morales
    10·2 answers
  • A(n) __ is a list of main points and sub-points of a topic to include in a presentation
    14·2 answers
  • Can some one help sorry I just so confused on this and I keep failing it I just need the help So choose the best answers
    12·1 answer
  • A physical host machine has four quad-core CPUs, 16GB of RAM, 1TB of hard drive space, and two 1Gbps NICs. If we need to create
    8·1 answer
  • Read the attached paper titled A Survey of Coarse-Grained Reconfigurable Architecture and comment on it. Make sure to specifical
    5·1 answer
  • Select one Layer 2 or wireless WAN technology presented in Lesson 3. Elaborate on its characteristics, pros and cons, and common
    13·1 answer
Add answer
Login
Not registered? Fast signup
Signup
Login Signup
Ask question!