Need help with Python code ASAP - Code doesnt want to run yet gives no errors.My code:import math def getAreaRecs(recs):     total_area = sum(rec["length"] * rec["width"] for rec in recs)    return total_area def calculate_paint_needed(length, width, height, doors, windows):    total_wall_area = 2 * (length + width) * height  # Calculate the total wall area    total_door_area = getAreaRecs(doors)  # Calculate the total area of doors    total_window_area = getAreaRecs(windows)  # Calculate the total area of windows    total_wall_area -= total_door_area + total_window_area  # Subtract the areas of doors and windows from the total wall area    gallons_needed = total_wall_area / 100.0  # Calculate the amount of paint needed (assuming 1 gallon covers 100 sq. ft.)    return gallons_needed def get_valid_input(prompt, validation_func):     while True:        try:            value = input(prompt)            value = float(value)            if validation_func(value):                return value            else:                print("Invalid input. Please try again.")        except ValueError:            print("Invalid input. Please enter a valid number.") def validate_positive(value):    """    Validate that a value is positive (greater than 0).        Args:        value (float): The value to validate.        Returns:        bool: True if the value is positive, False otherwise.    """    return value > 0 def main():    # Open output file for writing    with open("output.txt", "w") as output_file:        # Get room dimensions from the user        length = get_valid_input("Enter the length of the room in feet: ", validate_positive)        output_file.write(f"Length of the room: {length} feet\n")        width = get_valid_input("Enter the width of the room in feet: ", validate_positive)        output_file.write(f"Width of the room: {width} feet\n")        height = get_valid_input("Enter the height of the room in feet: ", validate_positive)        output_file.write(f"Height of the room: {height} feet\n")         total_wall_area = 2 * (length + width) * height        print("Total wall area before subtracting doors and windows:", total_wall_area)        output_file.write(f"Total wall area before subtracting doors and windows: {total_wall_area}\n")         print("Excellent, let's get your windows and doors in now.")        output_file.write("Excellent, let's get your windows and doors in now.\n")         # Get door information from the user        num_doors = int(get_valid_input("Enter the number of doors (must be greater than 0): ", validate_positive))        output_file.write(f"Number of doors: {num_doors}\n")         doors = [{"length": get_valid_input(f"Enter the length of door {i+1} in feet: ", validate_positive),                  "width": get_valid_input(f"Enter the width of door {i+1} in feet: ", validate_positive)}                 for i in range(num_doors)]         for i, door in enumerate(doors, start=1):            output_file.write(f"Door {i}: Length = {door['length']}, Width = {door['width']}\n")         # Get window information from the user        num_windows = int(get_valid_input("Enter the number of windows: ", validate_positive))        output_file.write(f"Number of windows: {num_windows}\n")         windows = [{"length": get_valid_input(f"Enter the length of window {i+1} in feet: ", validate_positive),                    "width": get_valid_input(f"Enter the width of window {i+1} in feet: ", validate_positive)}                   for i in range(num_windows)]         for i, window in enumerate(windows, start=1):            output_file.write(f"Window {i}: Length = {window['length']}, Width = {window['width']}\n")         # Calculate and print the amount of paint needed        gallons_needed = calculate_paint_needed(length, width, height, doors, windows)        print(f"You will need to buy {math.ceil(gallons_needed)} gallons of paint.")        output_file.write(f"You will need to buy {math.ceil(gallons_needed)} gallons of paint.\n")         print("You will need exactly", gallons_needed, "gallons of paint for the walls after subtracting the doors and windows.")

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

Need help with Python code ASAP - Code doesnt want to run yet gives no errors.
My code:

import math

def getAreaRecs(recs):

    total_area = sum(rec["length"] * rec["width"] for rec in recs)
    return total_area

def calculate_paint_needed(length, width, height, doors, windows):
    total_wall_area = 2 * (length + width) * height  # Calculate the total wall area
    total_door_area = getAreaRecs(doors)  # Calculate the total area of doors
    total_window_area = getAreaRecs(windows)  # Calculate the total area of windows
    total_wall_area -= total_door_area + total_window_area  # Subtract the areas of doors and windows from the total wall area
    gallons_needed = total_wall_area / 100.0  # Calculate the amount of paint needed (assuming 1 gallon covers 100 sq. ft.)
    return gallons_needed

def get_valid_input(prompt, validation_func):

    while True:
        try:
            value = input(prompt)
            value = float(value)
            if validation_func(value):
                return value
            else:
                print("Invalid input. Please try again.")
        except ValueError:
            print("Invalid input. Please enter a valid number.")

def validate_positive(value):
    """
    Validate that a value is positive (greater than 0).
    
    Args:
        value (float): The value to validate.
    
    Returns:
        bool: True if the value is positive, False otherwise.
    """
    return value > 0

def main():
    # Open output file for writing
    with open("output.txt", "w") as output_file:
        # Get room dimensions from the user
        length = get_valid_input("Enter the length of the room in feet: ", validate_positive)
        output_file.write(f"Length of the room: {length} feet\n")
        width = get_valid_input("Enter the width of the room in feet: ", validate_positive)
        output_file.write(f"Width of the room: {width} feet\n")
        height = get_valid_input("Enter the height of the room in feet: ", validate_positive)
        output_file.write(f"Height of the room: {height} feet\n")

        total_wall_area = 2 * (length + width) * height
        print("Total wall area before subtracting doors and windows:", total_wall_area)
        output_file.write(f"Total wall area before subtracting doors and windows: {total_wall_area}\n")

        print("Excellent, let's get your windows and doors in now.")
        output_file.write("Excellent, let's get your windows and doors in now.\n")

        # Get door information from the user
        num_doors = int(get_valid_input("Enter the number of doors (must be greater than 0): ", validate_positive))
        output_file.write(f"Number of doors: {num_doors}\n")

        doors = [{"length": get_valid_input(f"Enter the length of door {i+1} in feet: ", validate_positive),
                  "width": get_valid_input(f"Enter the width of door {i+1} in feet: ", validate_positive)}
                 for i in range(num_doors)]

        for i, door in enumerate(doors, start=1):
            output_file.write(f"Door {i}: Length = {door['length']}, Width = {door['width']}\n")

        # Get window information from the user
        num_windows = int(get_valid_input("Enter the number of windows: ", validate_positive))
        output_file.write(f"Number of windows: {num_windows}\n")

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

        for i, window in enumerate(windows, start=1):
            output_file.write(f"Window {i}: Length = {window['length']}, Width = {window['width']}\n")

        # Calculate and print the amount of paint needed
        gallons_needed = calculate_paint_needed(length, width, height, doors, windows)
        print(f"You will need to buy {math.ceil(gallons_needed)} gallons of paint.")
        output_file.write(f"You will need to buy {math.ceil(gallons_needed)} gallons of paint.\n")

        print("You will need exactly", gallons_needed, "gallons of paint for the walls after subtracting the doors and windows.")

Expert Solution
steps

Step by step

Solved in 2 steps

Blurred answer
Knowledge Booster
Lists
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