import math def create_shape(): svg_code = "" while True: # Prompt for the shape shape = input("Enter the shape (rectangle, circle, triangle): ") if shape == "rectangle": svg_code += create_rectangle() elif shape == "circle": svg_code += create_circle() elif shape == "triangle": svg_code += create_triangle() else: print("Invalid shape entered.") # Ask if the user wants to add another shape add_another = input("Do you want to add another shape? (yes/no): ") if add_another.lower() != "yes": break # Add spacing between shapes svg_code += f'<rect x="10" y="0" width="0" height="0" />' # Write the SVG code to a file with open('shapes.svg', 'w') as file: file.write(f'<svg xmlns="http://www.w3.org/2000/svg">{svg_code}</svg>') print("SVG file 'shapes.svg' has been generated.") def create_rectangle(): # Prompt for the length and width of the rectangle width = float(input("Enter the width of the rectangle: ")) height = float(input("Enter the height of the rectangle: ")) # Create the SVG code for the rectangle svg_code = f'<rect width="{width}" height="{height}" fill="none" stroke="red" stroke-width="0.05" />' return svg_code def create_circle(): # Prompt for the radius of the circle radius = float(input("Enter the radius of the circle: ")) # Calculate the diameter diameter = 2 * radius # Create the SVG code for the circle svg_code = f'<circle cx="{radius}" cy="{radius}" r="{radius}" fill="none" stroke="red" stroke-width="0.05" />' return svg_code def create_triangle(): # Prompt for the lengths of the triangle's sides side1 = float(input("Enter the length of the first side of the triangle: ")) side2 = float(input("Enter the length of the second side of the triangle: ")) while True: side3 = float(input("Enter the length of the third side of the triangle: ")) if side1 + side2 > side3 and side2 + side3 > side1 and side1 + side3 > side2: break else: print("The given side lengths do not satisfy the triangle inequality theorem.") if side1 + side2 <= side3: print("The third side length must be smaller.") elif side2 + side3 <= side1: print("The first side length must be smaller.") elif side1 + side3 <= side2: print("The second side length must be smaller.") # Create the SVG code for the triangle svg_code = f'<polygon points="0,0 {side1},0 {side2},{side3}" fill="none" stroke="red" stroke-width="0.05" />' return svg_code create_shape()