Python - Clases

 
Vista:
sin imagen de perfil

Clases

Publicado por Javi (1 intervención) el 15/12/2020 17:05:16
Alguien sabe cómo hacer esto?
Clase Mejoras
Esta clase gestiona las mejoras disponibles en el concesionario y sus contaminaciones.
Sus atributos son:
· NombreMejora: cadena de caracteres (String).
· ContAcustica: número real (coma flotante).
· ContAtmosferica: número real (coma flotante).
· ContVisual: número real (coma flotante).

Clase Coche
Esta clase gestiona los coches vendidos en el concesionario.
Sus atributos son:
· Marca: entero (0: Mercedes, 1: BMW, 2: Ferrari, 3: Jaguar).
· Tipo: entero (0: clásico, 1: 4x4, 2: deportivo).
· Tamanyo: entero (0: normal, 1: grande).
· Colores: entero (0: negro, 1: blanco, 2: rojo, 3: gris, 4: verde, 5: azul).
· Mejoras: lista de objetos de la clase mejoras.

Sus métodos son:
· Métodos para consultar y modificar todos los atributos de la clase (métodos get y set).
· Método __str__ que devuelve un String apropiado para mostrar por pantalla los atributos de la clase.
Ejemplo:
Coche Ferrari, deportivo, grande y rojo. Mejoras: escape deportivo, cristales tintados, luces de neón y bafles.
·Método getPrecio que devuelve un double correspondiente al precio de venta al público del coche. El cálculo será el siguiente: si la marca es Ferrari, su precio inicial será de 100.000€‎, si es Jaguar, 75.000€, si es Mercedes, 50.000€ y si es BMW, 25.000€. Si es un coche deportivo se le sumarán 20.000€ y si es un 4x4 10.000€. Si tiene un tamaño grande se le sumarán 5.000€. Se añadirán 2.000€ si se le añade un escape deportivo, 1.000€ si se le añaden las luces de neón, 750€ si le añaden los bafles y 500€ si se le añaden los cristales tintados. Además, solo a los coches de la marca Ferrari podrás añadirle unos alerones traseros por 250€.
Tanto el constructor con argumentos como los setters de la clase Coche deberán comprobar que son valores válidos los que se asignan a los atributos (consulta las indicaciones aportadas entre paréntesis en cada uno de ellos previamente). Si no lo son, el constructor pondrá valores por defecto y los setters dejarán los valores que ya estaban.

Clase Cars
Clase en la que se implementarán las siguientes funciones:
· RegistrarVentas: recibe una lista de Coches vacío y una lista de Mejoras lleno. Solicita la marca, tipo, tamaño y colores por teclado. Emplea la lista de Mejoras para mostrar un menú en el que tendremos que seleccionar uno a uno las 4 posibles mejoras para el coche. Asumimos que el usuario no se equivocará de tipo de datos al introducir los valores. Una vez creado y configurado el Coche, se almacenará en la lista de Coches y se consultará por teclado si se quiere introducir un Coche más. (3 Puntos)
· MostrarNivelContaminacion: recibe una lista de Coches lleno y muestra por pantalla el nivel total contaminación correspondiente a todos los coches. Dentro de la contaminación atmosférica, los coches pequeños contaminan 5 ppm, los normales 10 ppm y los grandes 15 ppm. Si es un coche deportivo se le añadirán 5 ppm. Además, si le añadimos un tubo de escape deportivo se multiplicará por 1,2. Dentro de la contaminación visual todos los coches contaminan 3 VIU, si añadimos las luces neón sumarán 8 VIU. Y dentro de la contaminación acústica, todos los coches contaminan 7 dB menos los deportivos que contaminan 14 dB. Si le añadimos los bafles la contaminación incrementará en 12 dB.
· MostrarIngresoMedio: recibe una lista de Coches lleno y muestra por pantalla la media del dinero que se ha ingresado por la venta de los coches.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
-2
Responder