Scopri il mondo con una carta regalo Airbnb da $75! Questa carta regalo ti consente di trovare case vacanza, chalet, case al mare e case uniche in tutto il mondo. Che tu stia programmando un weekend o una lunga vacanza, questa carta è perfetta per chiunque desideri creare esperienze indimenticabili. Regalala ad amici o familiari e lascia che scelgano la loro prossima avventura!
Per risolvere questo problema, dobbiamo creare un agente di riformattazione HTML intelligente in grado di trasformare un determinato input JSON in un formato HTML strutturato. L'HTML in uscita deve seguire linee guida specifiche, incluso l'uso di classi, intestazioni ed elenchi per i requisiti di sistema.
### Approccio
1. **Analizza l'input JSON**: L'input può essere in due forme:
- Requisiti di sistema singoli con più coppie chiave-valore.
- Sistemi multipli, ciascuno con una propria serie di requisiti.
2. **Genera struttura HTML**:
- Per ogni sistema, crea un `
` con la classe «prod-spec».
- Includere un
``titolo con il nome del sistema.
- Aggiungere un
tag `` con il testo «SPECIFICHE MINIME».
- Creare un `
` per elencare ogni requisito, dove ogni requisito è un `- ` contenente un `` per la chiave e il valore.
3. **Requisiti della maniglia**:
- Se l'input è un singolo sistema, associa direttamente ogni coppia chiave-valore a una voce dell'elenco.
- Se l'input contiene più sistemi, scorri ciascun sistema e genera il codice HTML corrispondente.
4. **Gestione speciale per le stringhe di requisiti**:
- Alcune stringhe di requisiti potrebbero già contenere elementi HTML. Questi devono essere analizzati per estrarre i singoli requisiti e convertirli nel formato richiesto.
5. **Verifica la validità dell'HTML**: assicurati che tutti i tag siano chiusi correttamente e che la struttura aderisca agli esempi forniti.
### Codice della soluzione
```python
importare json
def reformat_html (input_json):
# Analizza il JSON in ingresso
data = json.loads (input_json)
html_output = []
# Controlla se i dati contengono più sistemi
se isinstance (data [0], dict) e «system» in data [0]:
per system_data nei dati:
system_name = system_data ["system"]
requisiti = system_data ["requisito"]
# Rimuovi tutti i
tag esistenti dai requisiti
requisiti = requirements.replace ('
# Suddiviso in singoli elementi dell'elenco
- li_items = [item.strip () per l'elemento in requirements.split ('') se item.strip ()! = «]
# Elabora ogni elemento li per estrarre chiave e valore
processed_items = []
per l'articolo in li_items:
se '' nell'articolo:
chiave = item.split ('') [1] .split ('') [0] .strip ()
valore = item.split ('') [1] .strip ()
processed_items.append ({"key»: key, «value»: value})
# Costruisci l'HTML per questo sistema
html = f' {system_name} Requisiti di sistema
SPECIFICHE MINIME '
per l'articolo in processed_items:
html += f' - {item ["key"]}: {item ["value"]}
'
html += '
html_output.append (html)
altro:
# Dati di sistema singoli
html = 'Requisiti di sistema
SPECIFICHE MINIME'
per i requisiti nei dati:
chiave = next (iter (requirement.keys ()))
valore = requisito [chiave]
html += f' - {chiave}: {valore
} '
html +=
'
html_output.append (html)
# Unisci tutte le parti e restituisci
return «.join (html_output) .replace ('\n', «)
```
### Spiegazione
La soluzione fornita funziona analizzando innanzitutto il JSON di input per determinare se contiene requisiti di sistema singoli o multipli. Per ogni sistema, crea un codice HTML `con intestazioni, paragrafi ed elenchi appropriati. I requisiti vengono elaborati per estrarre chiavi e valori, che vengono quindi formattati in elementi di elenco. La soluzione gestisce sia testo normale che stringhe HTML preformattate, assicurando che l'output aderisca alla struttura specificata. Questo approccio garantisce che l'HTML risultante sia pulito, ben formattato e conforme alle linee guida dell'utente.
-
Per riscattare la carta, vai su https://www.airbnb.pt/gift e accedi al tuo account.
-
I buoni regalo possono essere utilizzati per qualsiasi soggiorno, Esperienza o Esperienza online su Airbnb.
-
Dopo aver riscattato la carta e aver aggiunto i fondi dalla carta al tuo account, puoi accedere a Metodi di pagamento nel tuo Account e controllare il saldo.
-
Una volta aggiunta una carta regalo al tuo account Airbnb, i fondi non scadranno.
Sii il primo a recensire questo prodotto!
Condividere