¡Descubre el mundo con una tarjeta de regalo de 75$ de Airbnb! Esta tarjeta de regalo te permite encontrar alquileres vacacionales, cabañas, casas de playa y casas únicas en todo el mundo. Ya sea que esté planeando una escapada de fin de semana o unas vacaciones largas, esta tarjeta es perfecta para quienes buscan crear experiencias inolvidables. ¡Regálala a amigos o familiares y deja que elijan su próxima aventura!
Para resolver este problema, necesitamos crear un agente de reformateo HTML inteligente que pueda transformar una entrada JSON determinada en un formato HTML estructurado. El HTML de salida debe seguir pautas específicas, incluido el uso de clases, encabezados y listas para los requisitos del sistema.
### Enfoque
1. **Analiza el JSON** de entrada**: La entrada puede tener dos formas:
- Requisitos de sistema únicos con varios pares clave-valor.
- Múltiples sistemas, cada uno con su propio conjunto de requisitos.
2. **Generar estructura HTML**:
- Para cada sistema, cree un `
` con la clase «prod-spec».
- Incluye un
encabezado `` con el nombre del sistema.
- Añade una
etiqueta `` con el texto «ESPECIFICACIONES MÍNIMAS».
- Crea un `
` para enumerar cada requisito, donde cada requisito sea un `- ` que contenga un `` para la clave y el valor.
3. **Requisitos de manejo**:
- Si la entrada es un sistema único, asigne directamente cada par clave-valor a un elemento de la lista.
- Si la entrada contiene varios sistemas, repita cada sistema y genere el HTML correspondiente.
4. **Manejo especial para cadenas de requisitos**:
- Es posible que algunas cadenas de requisitos ya contengan elementos HTML. Es necesario analizarlos para extraer los requisitos individuales y convertirlos al formato requerido.
5. **Garantice la validez del HTML**: asegúrese de que todas las etiquetas estén correctamente cerradas y de que la estructura se ajuste a los ejemplos proporcionados.
### Código de solución
```python
importar json
def reformat_html (input_json):
# Analiza el JSON de entrada
datos = json.loads (input_json)
html_output = []
# Compruebe si los datos contienen varios sistemas
si isinstance (data [0], dict) y «system» en data [0]:
para system_data en data:
system_name = system_data ["sistema"]
requisitos = system_data ["requisito"]
# Elimine cualquier
etiqueta existente de los requisitos
requisitos = requirements.replace (', «)
# Dividir en elementos de lista individuales
- li_items = [item.strip () para el artículo de requirements.split ('') si item.strip ()! = «]
# Procesa cada elemento de li para extraer la clave y el valor
processed_items = []
para el artículo de li_items:
si '' está en el artículo:
key = item.split ('') [1] .split ('') [0] .strip ()
valor = item.split ('') [1] .strip ()
processed_items.append ({"key»: key, «value»: value})
# Construya el HTML para este sistema
html = f' {system_name} Requisitos del sistema ESPECIFICACIONES MÍNIMAS
'
para el artículo de processed_items:
html += f' - {item ["key"]}: {item ["value"
]} '
html += ''
html_output.append (html)
otra cosa:
# Datos de sistema único
html = 'Especificaciones mínimas
de
los requisitos del sistema'
para los requisitos de datos:
clave = siguiente (iter (requirement.keys ()))
valor = requisito [clave]
html += f' - {clave}: {valor
} '
html += ''
html_output.append (html)
# Une todas las partes y regresa
devuelve «.join (html_output) .replace ('\n', «)
```
### Explicación
La solución proporcionada funciona analizando primero el JSON de entrada para determinar si contiene uno o varios requisitos del sistema. Para cada sistema, construye un `` HTML con los encabezados, párrafos y listas apropiados. Los requisitos se procesan para extraer claves y valores, que luego se formatean en elementos de lista. La solución maneja tanto texto sin formato como cadenas HTML preformateadas, lo que garantiza que la salida se adhiera a la estructura especificada. Este enfoque garantiza que el HTML resultante esté limpio, tenga un buen formato y cumpla con las directrices del usuario.
-
Para canjear la tarjeta, vaya a https://www.airbnb.pt/gift e inicie sesión en su cuenta.
-
Las tarjetas de regalo se pueden usar para cualquier estancia, experiencia o experiencia en línea en Airbnb.
-
Una vez que canjees tu tarjeta y añadas los fondos de la tarjeta a tu cuenta, puedes ir a Métodos de pago en tu cuenta y comprobar tu saldo.
-
Una vez que hayas añadido una tarjeta de regalo a tu cuenta de Airbnb, los fondos no caducarán.
¡Sé el primero en reseñar este producto!
Compartir