Finden Sie mit einer TJX-Geschenkkarte die Marken, die Sie lieben, zu Preisen, die zu Ihnen passen! Unsere Käufer handeln tolle Angebote mit Top-Designern aus und geben die Ersparnisse an Sie weiter. Zu den Abteilungen gehören Bekleidung, Schuhe, Wohnen, Schönheit und Accessoires. Die TJX-Geschenkkarte kann bei über 3200 T. J. Maxx, Marshalls, HomeGoods, Homesense und Sierra (in den USA und Puerto Rico) sowie online unter tjmaxx.com, sierra.com und marshalls.com eingelöst werden.
Die Lösung besteht darin, die Eingabestruktur zu analysieren und den entsprechenden HTML-Code zu generieren, je nachdem, ob jedes Objekt ein separates System oder einen Teil der Anforderungen eines einzelnen Systems darstellt.
### Ansatz
1. **Eingabestruktur identifizieren**: Prüfen Sie, ob ein Objekt im Eingabe-Array einen „Systemschlüssel“ enthält. Dies bestimmt, ob es sich um mehrere Systeme oder die Anforderungen eines einzelnen Systems handelt.
2. **Mehrere Systeme verarbeiten**: Wenn ein „System“ -Schlüssel existiert, wird jedes Objekt als separates System behandelt. Extrahieren Sie den Systemnamen und seine Anforderungen und generieren Sie dann für jedes System einen HTML-Abschnitt.
3. **Einzelsystem verarbeiten**: Wenn kein „System“ -Schlüssel gefunden wird, sammeln Sie alle Schlüssel-Wert-Paare aus allen Objekten und formatieren Sie sie in einem einzigen HTML-Abschnitt.
4. **Generieren Sie HTML**: Konstruieren Sie die HTML-Zeichenfolge für jedes System oder die kombinierten Anforderungen und achten Sie dabei auf die richtige Struktur und Einrückung.
### Lösungscode
```Python
json importieren
def reformat_html (json_str):
Daten = json.loads (json_str)
has_system = beliebig ('System' in obj für obj in Daten)
html_parts = []
wenn has_system:
für obj in Daten:
system_name = obj.get ('system', „)
Anforderungen = obj.get ('Anforderung', „)
html = f"'
{system_name} Systemanforderungen
MINDESTANFORDERUNGEN
{Anforderungen}
„'
html_parts.anhängen (html)
sonst:
Anforderungen = []
für obj in Daten:
für Schlüssel, Wert in obj.items ():
requirements.append (f'
{key}: {value} ')
html = f"'
PC-Systemanforderungen
MINDESTANFORDERUNGEN
{“ .join (Anforderungen)
}
„'
html_parts.anhängen (html)
'\n\n
\n'.join (html_parts) zurückgeben
# Beispiel für die Verwendung:
input_json = „'
[
{"system“ :"Windows“, "requirement“:“
- Betriebssystem: Windows 7 oder höher Prozessor:
- 1,5 GHz Speicher:
- 2 GB RAM Grafik:
- 256 MB DirectX 9 oder höher Speicher:
- 1 GB verfügbarer Speicherplatz Zusätzliche Hinweise:
- Eine gedruckte Kopie des Bomb Defusal Manual ist erforderlich. Für VR-Wiedergabe ist eine HTC Vive oder
Oculus Rift/DK2 erforderlich. „},
{"system“ :"Mac“, "requirement“:“
- Betriebssystem: OS X 10.9 oder höher
- Prozessor: 1,5 GHz Intel-Prozessorgrafik:
- 256 MB oder höher Speicher:
- 1 GB verfügbarer Speicherplatz
- Zusätzliche Hinweise
:
Virtuelle Realität wird nicht unterstützt. „}
]
„'
output_html = reformat_html (input_json)
drucken (output_html)
```
### Erklärung
- **Eingabebehandlung**: Die Eingabe wird als JSON analysiert, um Datenstrukturen zu extrahieren. Jedes Objekt wird auf das Vorhandensein eines „Systemschlüssels“ überprüft, um festzustellen, ob es sich um ein separates System handelt.
- **HTML-Generierung**: Für jedes identifizierte System wird der entsprechende HTML-Abschnitt mit den entsprechenden Headern und Anforderungen generiert. Bei der Verarbeitung eines einzelnen Systems werden alle Schlüssel-Wert-Paare aus allen Objekten in einen einzigen HTML-Abschnitt kompiliert.
- **Zeichenkettenformatierung**: Der HTML-Code ist so aufgebaut, dass er der erforderlichen Struktur entspricht und die richtige Verschachtelung und Einrückung aufweist. So wird für Klarheit und Korrektheit der Ausgabe gesorgt.
Bei diesem Ansatz werden beide Arten von Eingabestrukturen effizient verarbeitet und die entsprechende HTML-Ausgabe wie angegeben generiert.
Seien Sie der Erste, der dieses Produkt bewertet!
Teilen