Project 2: Maria’s Kitchen

The challenge in this Project is to use what you’ve learned in class and apply it to different case scenarios for both coding and the essay questions. In industry, there are no multiple choice questions where you can guess your way to an answer. You’ll have to generate real output (business model, financial or accounting statements, burndown charts, etc.) and present your argument as to why your team, company, or stakeholders should follow your output.

 

copy the starter code from there into your own repl. Don’t change any of the provided code.

 

def ticket(table, type, dish):

# Finish the rest of this function

 

def process(order):

# Finish the rest of this function

 

# Remember to add a blank line after the end of your process() function code. Start your “main” block of code below this line.

 

In the main part of your code outside of the functions

You need to create this code.

 

Ask the user to type in an order in this format (without the square brackets):

[table number]*[a, m, d, or f]-[the name of the dish]

 

The number is the table number. This is followed by a star.

 

Next comes a, m, d, or f, in lowercase. ‘a’ means appetizer. ‘m’ means main dish. ‘d’ means dessert. ‘f’ means ‘on the fly’ which tells the kitchen to cook that dish urgently.

 

This is followed by a dash.

 

At the end is the name of the dish.

 

For example:

2*m-burger and fries

 

This means table number 2, it is a main dish, and the dish is called ‘burger and fries.’

 

The user will type all of this on one line with no spaces except for in the dish name.

 

Store this order into a list.

 

Let the user keep typing in orders. Store all orders in the same list. The user stops entering orders by typing in ‘x’ without quotes.

 

Once you have all of the orders, access each order in the list and send it to a function called process() that takes in the order as a parameter.

Send each order to a function called process(order)

You need to create the code for this function.

 

The function separates out the various components of the order: table number, type of order, and the dish name.

 

You need to send these three components to another function that will return a string.

Send these three components to a function called ticket(table, type, dish)

You need to create the code for this function.

 

The output of this function is a string with the order details that is nicely formatted so the kitchen staff can easily read it.

 

First, add “T“, the table number, and a space to the string.

 

Next, process the order type and dish name.

If it is an appetizer: add the word “APP”, a space, and the dish name to the string.

 

If it is a main dish: add the word “MAIN”, a space, and the dish name to the string.

If the length of the dish name is 10 characters or fewer, add the text “8 min” to the string to let the kitchen know how long to expect for the cook time.

If the length of the dish name is more than 10 characters, add the text “15 min” to the string.

 

If it is a dessert: add the word “DES”, a space, the dish name, and the word “BIRTHDAY” to the string to remind the pastry chef to add a special birthday message. Maybe today is Jing’s birthday? 🙂

 

If it is an “on the fly” order: add the word “OTF”, a space, and the dish name in all caps. For any “on the fly” orders, you don’t have to worry about the main dish or dessert string additions.

 

Using our example from above, the order “2*m-burger and fries” would result in a string:

T2 MAIN burger and fries 15 min

 

Return this string back to process().

Back inside process()

You need to continue creating the code for this function.

 

Store the string returned from ticket(). Print it for the user.

 

process() does not need to return anything.

Back inside the main part of your program

This kicks the program back down to the main part (outside of the functions) where your code should automatically pull the next order from the list and send it to process(). You need to create this functionality.

 

Once you’ve processed all the orders, your program can end and show a funny message to the wait staff (e.g., your TA).

 

 

Assumptions, clarifications, and hints

– Use the cheat sheet to learn how to separate a string into parts.

– The table number can be more than one digit. Therefore, don’t try to get the table number by indexing the first character of the order. Hint: cheat sheet.

– The order type (a, m, d, or f) will always be one lowercase letter; however, we don’t recommend indexing to get that either. Hint: cheat sheet. You want to allow for flexibility in case – Chef Maria adds more order types in the future that may have two or more characters.

– The dish name can contain spaces. You don’t have to worry about capitalization. The rest of the order will be typed in without spaces.

– You can assume that the wait staff (e.g., your TA) will accurately type in an order.

– Reminder: the user can type in as many orders as they want until they enter ‘x’. You have worked with this before in class.

 

 

Short answer questions: choose two

Choose two of the questions below to answer. Your answer for each question should be about half a page long, single-spaced. If you want to write more, the maximum length is one page, single-spaced. Include your references below your answer (references can also go on the next page). There are no specific guidelines for references, i.e., MLA vs. APA. You can just list the source where you found the information. Please use the default font size of Arial 11 and the default margins and spacing set by Google Docs.

 

Type your answers into the same Google Doc where you

Order your essay today and save 10% with the discount code ESSAYHELP