Comprend : INSIDE Limbo Découvrez les deux titres acclamés par la critique de Playdead, LIMBO et INSIDE. Limbo - Incertain du sort de sa sœur, un garçon entre dans LIMBO INSIDE- Hunted et seul, un garçon se retrouve entraîné au cœur d'un projet sombre. INSIDE est un jeu de plateforme sombre et narratif qui combine une action intense et des énigmes stimulantes. Il a été acclamé par la critique pour son style artistique maussade, sa bande son ambiante et son atmosphère troublante.
Pour résoudre ce problème, nous devons reformater une entrée JSON donnée en HTML structuré. L'entrée JSON peut représenter les exigences du système dans différents formats, et notre tâche consiste à la convertir en une structure HTML cohérente présentant clairement les informations.
### Approche
La solution comprend les étapes suivantes :
1. **Analyser l'entrée JSON** : L'entrée JSON peut être structurée de deux manières :
- Sous la forme d'un tableau d'objets où chaque objet contient des paires clé-valeur représentant les exigences du système.
- Sous forme de tableau où chaque objet contient un type de système (par exemple, Windows, Mac, Linux) et ses exigences correspondantes fournies au format HTML.
2. **Déterminez la structure** : sur la base de la structure JSON, décidez si vous souhaitez générer un seul bloc d'exigences système ou plusieurs blocs pour différents systèmes.
3. **Générer une sortie HTML** : Pour chaque système :
- Extrayez le type de système (le cas échéant).
- Traitez le contenu HTML pour extraire des paires clé-valeur.
- Convertissez ces paires dans la structure HTML requise, en garantissant un formatage cohérent.
4. **Handle Edge Cases** : Assurez-vous que les données manquantes ou les notes supplémentaires sont gérées avec élégance et affichées correctement.
### Code de solution
``python
importer un fichier json
depuis bs4 import BeautifulSoup
def reformat_html (json_input)Â :
données = json.loads (json_input)
sortie_html = []
pour un élément de données :
si « système » est dans la rubrique :
system_name = item ['système']
requirement_html = item [« exigence »]
soupe = BeautifulSoup (requirement_html, 'html.parser')
lis = soup.find_all (« li »)
exigences = []
pour li dans la liste :
fort = li.find (« fort »)
en cas de forte résistance :
clé = strong.text.strip () .rstrip (':')
valeur = li.text.strip () [len (clé) +1 :] .strip ()
requirements.append ((clé, valeur))
html_output.append (f ')
html_output.append (f' {system_name} Configuration système requise ')
html_output.ajouter ('')
html_output.append (« SPÉCIFICATIONS MINIMALES »)
html_output.ajouter ('')
pour key, valeur dans les exigences :
html_output.append (f' - {clé} : {valeur}
')
html_output.ajouter
('')
html_output.ajouter
('')
html_output.ajouter ('')
autre :
spécification du produit = « »
product_spec += « Configuration système requise pour
PC
 »
spécification_du produit += « »
product_spec += « SPÉCIFICATIONS MINIMALES »
spécification_du produit += « »
pour les exigences relatives à l'article :
clé = suivant (iter (requirement.keys ()))
valeur = exigence [clé]
product_spec += f' - {clé} : {valeur}
'
spécification_du produit +=
« »
spécification_du produit +=
« »
html_output.append (spécification du produit)
return '\n'.join (html_output) .replace (' '
,', 1)
# Exemple d'utilisation :
json_input = '[{"OS » :"Windows XP ou Windows Vista "}, {" Processeur » :"1,8 GHz "}, {" Mémoire » :"512 Mo de RAM (1 Go recommandé) "}, {" Graphiques » :"Carte graphique 3D compatible avec DirectX 8 (compatible avec DirectX 9 recommandé) "}, {" Disque dur » :"2 Go "}, {" Supplémentaire » :"Souris, clavier «}]'
imprimer (reformat_html (json_input))
```
### Explication
La solution fournie utilise Python pour analyser l'entrée JSON et la convertir dans la structure HTML requise. Voici une ventilation détaillée :
1. **Analyse JSON** : L'entrée JSON est analysée dans une structure de données Python pour faciliter la manipulation.
2. **Vérification de la structure** : le code vérifie si chaque élément du tableau JSON contient une clé « système » afin de déterminer s'il représente un type de système (par exemple, Windows) ou une spécification générale du produit.
3. **Exigences de traitement** : pour chaque système, le code HTML requis est analysé à l'aide de BeautifulSoup pour extraire les paires clé-valeur. Ces paires sont ensuite mises en forme dans la structure HTML requise.
4. **Génération d'une sortie** : Le code HTML formaté est intégré à une chaîne et renvoyé comme sortie finale.
Cette approche garantit que la sortie HTML est propre, bien structurée et cohérente, quel que soit le format d'entrée.
PARTAGEZ