Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Python programming language Overview: Abby has always dreamed of having her own ice cream shop. Now as a young entrepreneur she has decided to pursue

Python programming language

Overview:

Abby has always dreamed of having her own ice cream shop. Now as a young entrepreneur she has decided to pursue her dream, but she needs some help in determining the financial viability of her plan. She has come up with a list of income and expense parameters and needs a simple program to input these parameters and calculate the monthly profit or loss as well as performing some variable cost what-if analysis.

=========

For expenses, she has:

Raw ingredient cost per serving

Hourly labor rate

Real estate monthly rental

Utilities per month

Monthly advertising budget

On the income side, she has:

Selling price per serving (assume only one size for simplicity)

Number of servings sold per month

=========

Based on some research, she has determined that a single employee can run the shop and she plans to have the shop open eight hours per day and six days per week.

Create the text-based, menu interface

Write a Python script with a menu driven, text-based user interface that looks like this:

-----------------

Expenses:

1. Cost per serving: 1.0

2. Labor rate per hour: 7.5

3. Shop rental per month: 800

4. Utilities per month: 150

5. Advertising budget per month: 100

Income:

6. Selling price (each): 4.0

7. Servings sold per month: 500

Analysis:

Enter Selection (0 to Exit):

=============

In which the current parameter value is displayed but the user can select and modify each one.

For Example:

Enter Selection (0 to Exit):

1 Enter cost per serving:

=============

Use the following as the default starting values:

serving_cost = 1.00

labor_rate = 7.50

shop_rental = 800

utilities = 150

advertising = 100

servings_per_month = 1000

selling_price = 4.00

==============

Tasks:

Create the text based menu interface shown above using the default values.

Allow the user to set the expenses from the menu

==============

Add Profit/Loss Functionality

At this point, your script should allow the user to input values for all the variables needed to calculate the profit (or loss) of Abbys Ice Cream business.

To add this functionality, start by adding the following menu item:

8. Profit/Loss Calculation

under the Analysis section of the menu. If the user selects option 8, the script should display something like the following:

Enter Selection (0 to Exit): 8

The Ice Cream Shop will have a monthly profit/loss of 90.0 or 0.18 per serving.

In order to perform these calculations, youll have to think back to Algebra and calculate things like the total expenses and the total income on a monthly basis.

Finally, in order to keep the values in monetary precision, you can use the round() function with a precision of 2.

Task:

Add profit/loss calculations

==============

Finally:

Add "What if" analysis

Add the following menu item to your menu:

9. "What If" analysis with 10% variance

If the user selects option 9, the script should vary the expenses followed by the income from negative to positive ten percent by increments of 2.

This will help Abby with some what-if calculations:

Enter Selection (0 to Exit): 9

Varying the Expenses From -10% to +10%::

Percent: -10 Expenses: 3141.0 Profit/Loss: 859.0

Percent: -8 Expenses: 3210.8 Profit/Loss: 789.2

Percent: -6 Expenses: 3280.6 Profit/Loss:

719.4 Percent: -4 Expenses: 3350.4 Profit/Loss: 649.6

Percent: -2 Expenses: 3420.2 Profit/Loss: 579.8

Percent: 0 Expenses: 3490.0 Profit/Loss: 510.0

Percent: 2 Expenses: 3559.8 Profit/Loss: 440.2

Percent: 4 Expenses: 3629.6 Profit/Loss: 370.4

Percent: 6 Expenses: 3699.4 Profit/Loss: 300.6

Percent: 8 Expenses: 3769.2 Profit/Loss: 230.8

Varying the Income From -10% to +10%::

Percent: -10 Income: 3600.0 Profit/Loss: 110.0

Percent: -8 Income: 3680.0 Profit/Loss: 190.0

Percent: -6 Income: 3760.0 Profit/Loss: 270.0

Percent: -4 Income: 3840.0 Profit/Loss: 350.0

Percent: -2 Income: 3920.0 Profit/Loss: 430.0

Percent: 0 Income: 4000.0 Profit/Loss: 510.0

Percent: 2 Income: 4080.0 Profit/Loss: 590.0

Percent: 4 Income: 4160.0 Profit/Loss: 670.0

Percent: 6 Income: 4240.0 Profit/Loss: 750.0

Percent: 8 Income: 4320.0 Profit/Loss: 830.0

In all these calculations, assume that the shop operates with a single employee for eight hours per day, six days a week, for four weeks.

==============

Task:

Add "What if" analysis to your menu to display varying expenses and income from -10 to +10 in increments of 2.

==============

Doc comment hints/starting point:

"""

Part 1:

Per the instructions, the problem prompts the user for the following information:

* Cost per ice cream serving

* Employee labor rate (per hour)

* Shop rental (per month)

* Utilities (per month)

* Advertising (per month)

* Selling price (each)

* ice cream servings sold per month

You program should operate in a loop in which a menu is displayed with the

following options:

------

Expenses:

1. Cost per serving:

2. Labor rate per hour:

3. Shop rental per month:

4. Utilities per month:

5. Advertising budget per month:

Income:

6. Selling price (each):

7. Servings sold per month:

Analysis:

8. Profit/Loss Calculation

9. "What If" analysis with 10% variance

Enter Selection (0 to Exit):

-----

Menu items 1 - 7 should display the current value of the category and allow

the user to change it.

Menu item 8 should display a single value indicating the amount of profit or

loss. It should then, while holding the income fixed, vary the expenses from

- to + 10 percent in 2 percent increments and outputting the values and the

resulting profit or loss in a table. Finally, while holding the expenses

fixed, vary the income parameters from - to + 10 percent in 2 percent increments.

Sample Output:

Enter Selection (0 to Exit): 8

The Ice Cream Shop will have a monthly profit/loss of 90.0 or 4.0 per serving.

Enter Selection (0 to Exit): 9

Varying the Expenses +/-10%:

Percent: -10 Expenses: 1719.0 Profit/Loss: 281.0

Percent: -8 Expenses: 1757.2 Profit/Loss: 242.8

Percent: -6 Expenses: 1795.4 Profit/Loss: 204.6

Percent: -4 Expenses: 1833.6 Profit/Loss: 166.4

Percent: -2 Expenses: 1871.8 Profit/Loss: 128.2

Percent: 0 Expenses: 1910.0 Profit/Loss: 90.0

Percent: 2 Expenses: 1948.2 Profit/Loss: 51.8

Percent: 4 Expenses: 1986.4 Profit/Loss: 13.6

Percent: 6 Expenses: 2024.6 Profit/Loss: -24.6

Percent: 8 Expenses: 2062.8 Profit/Loss: -62.8

Varying the Income +/-10%:

Percent: -10 Income: 1800.0 Profit/Loss: -110.0

Percent: -8 Income: 1840.0 Profit/Loss: -70.0

Percent: -6 Income: 1880.0 Profit/Loss: -30.0

Percent: -4 Income: 1920.0 Profit/Loss: 10.0

Percent: -2 Income: 1960.0 Profit/Loss: 50.0

Percent: 0 Income: 2000.0 Profit/Loss: 90.0

Percent: 2 Income: 2040.0 Profit/Loss: 130.0

Percent: 4 Income: 2080.0 Profit/Loss: 170.0

Percent: 6 Income: 2120.0 Profit/Loss: 210.0

Percent: 8 Income: 2160.0 Profit/Loss: 250.0

Bonus:

Add functionality that will that use the current expenses and sales volume but

vary the sale price until the "break-even" point is found. If the initial calculation

is positive then reduce the price iteratively and if negative, increase the price

iteratively (think loop). Note that your algorithm doesn't have to find the exact

break even point, only the point where it changes from negative to positive or

positive to negative

10. Find Break-Even

Enter Selection (0 to Exit): 10

Break-Even occurs with a selling price of: 5.7

Note that in all these calculations, assume that the shop operates with a single

employee six days a week, eight hours per day.

"""

"""

# Tip: Always make constants ALL CAPS and give them descriptive names. Think about what

constants you will need in your script. I.e. what numbers will you use that are fixed?

"""

"""

What variables will you need? Start out by listing what the script needs (inputs)

and what the script will produce (outputs).

Hint: look at the sample menu. List those

out and you'll be on your way.

"""

"""

Additional Hints:

You'll need some form of loop that the script will stay in until the user chooses option

0 to exit. In this loop, you'll want to print out the menu and prompt for user input.

In this way, every time a selection is made, the work is done then the loop starts over

and refreshes the menu. Once the user wants to exit, just break out of the loop just like

learned in the text reading.

Next use logic to either update your variables or to calculate the requested

information.

IDE's support something called "breakpoints" which allow you to stop execution and examine the

of variables in the code. If you don't want to learn that yet then remember you can always put

extra "prints" to output intermediate values to test your algorithms.

"""

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Database Application Development And Design

Authors: Michael V. Mannino

1st Edition

0072463678, 978-0072463675

More Books

Students also viewed these Databases questions