Beinhaltet: INSIDE Limbo Hol dir die beiden von der Kritik hochgelobten Titel LIMBO und INSIDE von Playdead. Limbo — Unsicher über das Schicksal seiner Schwester, betritt ein Junge LIMBO INSIDE- Gejagt und allein gerät ein Junge in das Zentrum eines düsteren Projekts. INSIDE ist ein düsterer, erzählerischer Plattformer, der intensive Action mit herausfordernden Rätseln kombiniert. Es wurde von der Kritik für seinen stimmungsvollen Kunststil, seinen Ambient-Soundtrack und seine beunruhigende Atmosphäre gelobt.
Um dieses Problem zu lösen, müssen wir die angegebene JSON-Eingabe in strukturiertes HTML umformatieren. Die JSON-Eingabe kann Systemanforderungen in verschiedenen Formaten darstellen, und unsere Aufgabe besteht darin, sie in eine konsistente HTML-Struktur umzuwandeln, die die Informationen übersichtlich darstellt.
### Ansatz
Die Lösung umfasst die folgenden Schritte:
1. **Analysieren Sie die JSON-Eingabe**: Die JSON-Eingabe kann auf zwei Arten strukturiert werden:
- Als Array von Objekten, wobei jedes Objekt Schlüssel-Wert-Paare enthält, die die Systemanforderungen darstellen.
- Als Array, in dem jedes Objekt einen Systemtyp (z. B. Windows, Mac, Linux) und die entsprechenden Anforderungen im HTML-Format enthält.
2. **Ermitteln Sie die Struktur**: Entscheiden Sie auf der Grundlage der JSON-Struktur, ob Sie einen einzelnen Systemanforderungsblock oder mehrere Blöcke für verschiedene Systeme generieren möchten.
3. **HTML-Ausgabe generieren**: Für jedes System:
- Extrahieren Sie den Systemtyp (falls zutreffend).
- Verarbeiten Sie den HTML-Inhalt, um Schlüssel-Wert-Paare zu extrahieren.
- Konvertieren Sie diese Paare in die erforderliche HTML-Struktur und achten Sie dabei auf eine konsistente Formatierung.
4. **Randfälle bearbeiten**: Stellen Sie sicher, dass fehlende Daten oder zusätzliche Hinweise ordnungsgemäß behandelt und korrekt angezeigt werden.
### Lösungscode
```Python
json importieren
aus bs4 importiere BeautifulSoup
def reformat_html (json_input):
Daten = json.loads (json_input)
html_ausgabe = []
für Artikel in Daten:
wenn „System“ im Artikel enthalten ist:
system_name = Element ['System']
requirement_html = Artikel ['Anforderung']
Suppe = BeautifulSoup (requirement_html, 'html.parser')
lis = soup.find_all ('li')
Anforderungen = []
für Li in einer Liste:
stark = li.find ('stark')
wenn stark:
key = strong.text.strip () .rstrip (':')
Wert = li.text.strip () [len (Schlüssel) +1:] .strip ()
requirements.append ((Schlüssel, Wert))
html_output.append (f' ')
html_output.append (f' {system_name} Systemanforderungen ')
html_output.append ('')
html_output.append ('MINDESTANFORDERUNGEN')
html_output.append ('')
für Schlüssel, Wert in den Anforderungen:
html_output.append (f' - {key}: {value}
')
html_output.append (
'')
html_output.append ('')
html_output.append ('')
sonst:
Produktspezifikation = ''
product_spec += 'PC-Systemanforderungen'
product_spec += ''
product_spec += 'MINDESTANFORDERUNGEN'
product_spec += ''
für die Anforderung im Artikel:
Schlüssel = weiter (iter (requirement.keys ()))
Wert = Anforderung [Schlüssel]
product_spec += f' - {Schlüssel}: {Wert}
'
Produktspezifikation +=
''
Produktspezifikation += ''
html_output.append (product_spec)
gib '\n'.join (html_output) .replace (' ',' ', 1) zurück
# Beispiel für die Verwendung:
json_input = '[{"OS“ :"Windows XP oder Windows Vista "}, {" Prozessor“ :"1,8 GHz "}, {" Memory“ :"512 MB RAM (1 GB empfohlen) "}, {" Graphics“ :"3D-Grafikkarte kompatibel mit DirectX 8 (kompatibel mit DirectX 9 empfohlen) "}, {" Festplatte“ :"2 GB "}, {" Additional“ :"Maus, Tastatur "}]'
drucken (reformat_html (json_input))
```
### Erklärung
Die bereitgestellte Lösung verwendet Python, um die JSON-Eingabe zu analysieren und in die erforderliche HTML-Struktur zu konvertieren. Hier ist eine detaillierte Aufschlüsselung:
1. **JSON-Parsen**: Die JSON-Eingabe wird zur einfachen Bearbeitung in eine Python-Datenstruktur geparst.
2. **Struktur prüfen**: Der Code prüft, ob jedes Element im JSON-Array einen Systemschlüssel enthält, um festzustellen, ob es sich um einen Systemtyp (z. B. Windows) oder eine allgemeine Produktspezifikation handelt.
3. **Verarbeitungsanforderungen**: Für jedes System wird das Anforderungs-HTML mit BeautifulSoup analysiert, um Schlüssel-Wert-Paare zu extrahieren. Diese Paare werden dann in die erforderliche HTML-Struktur formatiert.
4. **Generieren der Ausgabe**: Das formatierte HTML wird in eine Zeichenfolge integriert und als endgültige Ausgabe zurückgegeben.
Dieser Ansatz stellt sicher, dass die HTML-Ausgabe unabhängig vom Eingabeformat sauber, gut strukturiert und konsistent ist.
Teilen