Quick question and help for python, how do I display the room area calculated BEFORE subtracting doors/windows in code?

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

Quick question and help for python, how do I display the room area calculated BEFORE subtracting doors/windows in code?

My code:

import math

def calculate_paint_needed(length, width, height, doors, windows):
    total_wall_area = 2 * (length + width) * height
    total_door_area = sum(door["length"] * door["width"] for door in doors)
    
    print("Area of door: ",total_door_area)
    total_window_area = sum(window["length"] * window["width"] for window in windows)
    print("Area of Window: ",total_window_area)

    total_wall_area -= total_door_area + total_window_area

    gallons_needed = total_wall_area / 100.0
    return gallons_needed


def get_valid_input(prompt):
    while True:
        try:
            value = float(input(prompt))
            return value
        except ValueError:
            print("Invalid input. Please enter a valid number.")

def main():
    length = get_valid_input("Enter the length of the room in feet: ")
    width = get_valid_input("Enter the width of the room in feet: ")
    height = get_valid_input("Enter the height of the room in feet: ")


    print("Excellent, lets get your windows and doors in now.")
    while True:
        try:
            num_doors = int(input("Enter the number of doors (must be greater than 0): "))
            if num_doors > 0:
                break
            else:
                print("Number of doors must be greater than 0.")
        except ValueError:
            print("Invalid input. Please enter a valid integer.")
    doors = [{"length": get_valid_input(f"Enter the length of door {i+1} in feet: "),
              "width": get_valid_input(f"Enter the width of door {i+1} in feet: ")}
             for i in range(num_doors)]

    num_windows = int(input("Enter the number of windows: "))
    windows = [{"length": get_valid_input(f"Enter the length of window {i+1} in feet: "),
                "width": get_valid_input(f"Enter the width of window {i+1} in feet: ")}
               for i in range(num_windows)]

    gallons_needed = calculate_paint_needed(length, width, height, doors, windows)


    print(f"You will need to buy {math.ceil(gallons_needed)} gallons of paint.")
    print("You will need exactly", gallons_needed, "gallons of paint for the walls after subtracting the doors and windows.")
     
if __name__ == "__main__":
    main()

Expert Solution
steps

Step by step

Solved in 5 steps with 5 images

Blurred answer
Knowledge Booster
Top down approach design
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
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