Phase 1: Start by creating a new project in PyCharms and adding a file called final.py  In that file add the header information as we do for all assignments as described here: Submission Standards (of course the assignment is Final and include your own information) Then use print and input statements to write a program that will produce the following output: Welcome to the Calculon 5000 What is the path to the bill? C:\Users\0757557\PycharmProjects\GradingCS31\Final\data.txt The path you entered is C:\Users\0757557\PycharmProjects\GradingCS31\Final\data.txt ------------------------------------------------------------------------------------------------------------------------------------ data.txt : prices grapes: 4.00 oranges: 7.50 bread: 3.05 coke: 7.77 beef: 3.75 quantities grapes: 1 bread: 2 coke: 8 beef: 1 ------------------------------------------------------------------------------------------------------------------------------------ Please submit the answer in 'phases' it helps me with understanding what is happening :-) the top one is phase one and the pictures show the rest of the phases of the program after.

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question

Phase 1:

Start by creating a new project in PyCharms and adding a file called final.py 

In that file add the header information as we do for all assignments as described here: Submission Standards (of course the assignment is Final and include your own information)

Then use print and input statements to write a program that will produce the following output:

Welcome to the Calculon 5000
What is the path to the bill? C:\Users\0757557\PycharmProjects\GradingCS31\Final\data.txt
The path you entered is C:\Users\0757557\PycharmProjects\GradingCS31\Final\data.txt

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

data.txt :

prices
grapes: 4.00
oranges: 7.50
bread: 3.05
coke: 7.77
beef: 3.75
quantities
grapes: 1
bread: 2
coke: 8
beef: 1
------------------------------------------------------------------------------------------------------------------------------------
Please submit the answer in 'phases' it helps me with understanding what is happening :-) the top one is phase one and the pictures show the rest of the phases of the program after.
First, add a file to your project called data.txt and copy/paste this data to it: data.txt
After your current code, please add a class definition with the following characteristics:
. It is named Calculon5088
. It has a constructor that takes a single argument named (mypath which contains the path to [data.txt
• The constructor opens and reads that file text into a list named raw_data) (one line per list item)
• It should catch an execption if the file is not found, print out (f"was unable to find {mypath)" and exit gracefully.
After the class definition, please create an object of type calculonseee named the bill using the path input above.
Phase 3:
Continuing in your code, in your constructor for calculonseee
. Use the items from raw_data to populate a new instance variable called prices_dict
• Use the items from raw_data to populate a new instance variable called quantities_dict
Please submit this file here.
Note: make sure you are converting everything to the appropriate type as you store it. It should be obvious
Phase 4:
Continuing to add to your class calculonseee
• Add a function called .calculate_bill() that will return the total bill based upon the price of each item and quantity of each item.
Then add this print statement to the bottom of your code:
print (f"The total cost is (the bill.calculate_bill()}"))
Transcribed Image Text:First, add a file to your project called data.txt and copy/paste this data to it: data.txt After your current code, please add a class definition with the following characteristics: . It is named Calculon5088 . It has a constructor that takes a single argument named (mypath which contains the path to [data.txt • The constructor opens and reads that file text into a list named raw_data) (one line per list item) • It should catch an execption if the file is not found, print out (f"was unable to find {mypath)" and exit gracefully. After the class definition, please create an object of type calculonseee named the bill using the path input above. Phase 3: Continuing in your code, in your constructor for calculonseee . Use the items from raw_data to populate a new instance variable called prices_dict • Use the items from raw_data to populate a new instance variable called quantities_dict Please submit this file here. Note: make sure you are converting everything to the appropriate type as you store it. It should be obvious Phase 4: Continuing to add to your class calculonseee • Add a function called .calculate_bill() that will return the total bill based upon the price of each item and quantity of each item. Then add this print statement to the bottom of your code: print (f"The total cost is (the bill.calculate_bill()}"))
Phase 5:
At the bottom of your code extend your class Calculon5000 with a child class Calculon5001 with the following changes:
• The child class will create an empty dictionary called discount_dict in it's constructor that will contain discounts on various items
• The child class will have a new function called .add_discount (self, product, amount) that will add the product and discount amount to the discount_dict
• product will always be a string matching a product named in discount_dict
• amount will always be a float between 0 and 1.0
• If the amount is .25, that means it is 25% off. So if walnuts were 5.00 and the discount for walnuts was .25, the adjusted price would be 3.75
• The child class will override the calculate_bill() function to apply the discount appropriatly.
Beneath this add the following code:
new_bill = Calculon5001(path)
new_bill.add_discount('grapes', .1)
new_bill.add_discount('coke', .75)
print (f"The total cost of the discounted bill is (new_bill.calculate_bill()}")
Upload Choose a File
Question 6
Phase 6:
Continuing to add to your class Calculon5001:
• Add a function called.print_itemized_bill() that will print each item in the quantities dictionary on it's own line with the following specifications:
• The line will have the item name (left aligned), quantity, price, discount, and line total equally spaced
• The line will be 80 characters across
Add this line to the bottom of your code:
new_bill.print_itemized_bill())
Transcribed Image Text:Phase 5: At the bottom of your code extend your class Calculon5000 with a child class Calculon5001 with the following changes: • The child class will create an empty dictionary called discount_dict in it's constructor that will contain discounts on various items • The child class will have a new function called .add_discount (self, product, amount) that will add the product and discount amount to the discount_dict • product will always be a string matching a product named in discount_dict • amount will always be a float between 0 and 1.0 • If the amount is .25, that means it is 25% off. So if walnuts were 5.00 and the discount for walnuts was .25, the adjusted price would be 3.75 • The child class will override the calculate_bill() function to apply the discount appropriatly. Beneath this add the following code: new_bill = Calculon5001(path) new_bill.add_discount('grapes', .1) new_bill.add_discount('coke', .75) print (f"The total cost of the discounted bill is (new_bill.calculate_bill()}") Upload Choose a File Question 6 Phase 6: Continuing to add to your class Calculon5001: • Add a function called.print_itemized_bill() that will print each item in the quantities dictionary on it's own line with the following specifications: • The line will have the item name (left aligned), quantity, price, discount, and line total equally spaced • The line will be 80 characters across Add this line to the bottom of your code: new_bill.print_itemized_bill())
Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 6 steps with 4 images

Blurred answer
Knowledge Booster
Linux
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education