¿QUÉ ES ROBLOX?
Roblox es el mejor lugar para imaginarse con amigos. Con la mayor plataforma de juegos en línea generada por usuarios y más de 15 millones de juegos creados por usuarios, Roblox es el sitio de juegos #1 para niños y adolescentes (comScore). Todos los días, exploradores virtuales vienen a Roblox para crear aventuras, jugar, jugar juegos de rol y aprender con sus amigos en un entorno 3D inmersivo y
apto para toda la familia.
Para resolver este problema, necesitamos reformatear el contenido HTML en función de los requisitos del sistema proporcionados en una estructura específica. El objetivo es transformar los datos de entrada en un formato HTML estandarizado adecuado para su visualización en una página web.
### Enfoque
1. **Comprender la estructura de entrada**: La entrada consiste en una matriz de objetos, donde cada objeto contiene los requisitos del sistema. Cada objeto puede tener una clave de «sistema» (que indica el sistema operativo) y una clave de «requisito» (que contiene las especificaciones del sistema en texto plano o en HTML).
2. **Análisis de los requisitos**: Para cada sistema (por ejemplo, Windows, Mac, Linux), necesitamos extraer las especificaciones del sistema. Si las especificaciones se proporcionan en formato HTML, necesitamos analizar este HTML para extraer los pares clave-valor individuales.
3. **Estructuración de la salida**: La salida debe seguir un formato uniforme para cada sistema. Los requisitos de cada sistema están incluidos en un `
` con la clase «prod-spec». Este div contiene un encabezado, un párrafo que indica «ESPECIFICACIONES MÍNIMAS» y una lista desordenada en la que cada elemento de la lista incluye un intervalo para la clave (por ejemplo, sistema operativo, procesador) seguido de su valor correspondiente.
4. **Gestión del HTML anidado**: Si los requisitos se proporcionan como una cadena HTML, cada `
` de esta cadena se analiza para extraer la clave y el valor. A continuación, se estructuran en el formato requerido.
### Código de solución
```python
desde bs4 importa BeautifulSoup
importar json
def reformat_system_requirements (input_json):
# Analiza el JSON de entrada
datos = json.loads (input_json)
html_output = []
para el elemento incluido en los datos:
system = item.get («sistema», «PC»)
requisitos = item.get («requisito», «»)
# Si los requisitos son HTML, analízalos
if isinstance (requirements, str) y requirements.strip () .start with ('<'):
soup = BeautifulSoup (requisitos, 'html.parser')
req_list = soup.find ('ul') .find_all ('li')
otra cosa:
# Controle si los requisitos están en un formato diferente
req_list = []
si es una instancia (requisitos, lista):
req_list = requisitos
otra cosa:
req_list.append (requisitos)
# Crea la estructura HTML
html = f' '
html += f'
{system} Requisitos del sistema
'
html += ''
html += 'ESPECIFICACIONES
MÍNIMAS'
html += ''
para req en req_list:
si es una instancia (req, dict):
clave = list (req.keys ()) [0]
valor = req [clave]
elif es instance (req, str):
# Suponiendo que la cadena tiene el formato «Clave: Valor»
parts = req.split (':')
clave = parts [0] .strip ()
valor = ': '.join (parts [1:]) .strip ()
otra cosa:
# Analiza desde BeautifulSoup si es un objeto Tag
key_tag = req.find ('fuerte')
key = key_tag.get_text () .strip () si key_tag es diferente»
valor = req.get_text () .replace (key_tag.get_text (), «) .strip ()
html += - f' {clave}:
{valor} '
html += ''
html += ''
html_output.append (html)
# Combine todos los requisitos del sistema en una sola cadena
return '\n\n
\n'.join (html_output)
```
### Explicación
1. **Analizar la entrada**: el JSON de entrada se analiza para extraer cada sistema y sus requisitos correspondientes. El nombre del sistema se usa para crear un encabezado y los requisitos se procesan para crear los elementos de la lista.
2. **Gestión de los requisitos de HTML**: Si los requisitos se proporcionan como una cadena HTML, se analiza con BeautifulSoup para extraer cada ``. Luego, cada elemento de la lista se procesa para extraer la clave (por ejemplo, el sistema operativo o el procesador) y su valor correspondiente.
3. **Resultado de construcción**: Los requisitos de cada sistema están incluidos en un `` con la clase correspondiente. El encabezado, el párrafo «ESPECIFICACIONES MÍNIMAS» y los elementos de la lista se construyen dentro de este div. Cada elemento de la lista incluye un intervalo para la clave seguido de su valor.
4. **Combinación de salidos**: El HTML de cada sistema se combina en una sola cadena, con cada sistema separado por
etiquetas `` para garantizar el espaciado adecuado.
Este enfoque garantiza que los requisitos del sistema se muestren en un formato coherente y legible, independientemente de la estructura de entrada.
-
Para canjear tu código:
-
Inicia sesión en tu cuenta
-
Ve aquí e introduce el PIN
-
Haz clic en Canjear para añadir el crédito a tu cuenta.
-
Tu saldo aparecerá en verde después de las palabras Tu saldo
¡Sé el primero en reseñar este producto!
Compartir