Explorez le monde avec une carte-cadeau Airbnb de 45$ ! Cette carte-cadeau vous permet de trouver des locations de vacances, des chalets, des maisons de plage et des maisons uniques dans le monde entier. Que vous planifiez une escapade ou que vous recherchiez une expérience unique, cette carte-cadeau est parfaite pour les voyageurs. Offrez le plaisir de voyager avec Airbnb et créez des souvenirs inoubliables !
Pour résoudre ce problème, nous devons reformater les exigences système données dans un format HTML structuré. L'objectif est de générer une sortie HTML propre et cohérente répondant aux exigences du système sur différentes plateformes, telles que Windows, Mac et Linux.
### Approche
1. **Analyse de la structure des entrées** : L'entrée peut prendre deux formes :
- Une liste plate de dictionnaires où chaque dictionnaire contient un seul composant système (par exemple, système d'exploitation, processeur, etc.).
- Une liste de dictionnaires où chaque dictionnaire représente un système complet (par exemple, Windows, Mac, Linux), chacun contenant sa propre configuration requise sous forme de chaîne HTML.
2. **Génération HTML** :
- Pour chaque système, nous générons une section HTML commençant par un titre, suivi d'un paragraphe indiquant « SPÉCIFICATIONS MINIMALES » et d'une liste non ordonnée des exigences.
- Chaque exigence est mise en forme avec un espace pour la catégorie et le texte d'exigence correspondant.
3. **Analyse des chaînes HTML** : si l'entrée contient des chaînes HTML (comme dans le deuxième exemple), nous analysons ces chaînes pour extraire les exigences individuelles et les formater dans la structure requise.
### Code de solution
``python
depuis bs4 import BeautifulSoup
def generate_html (systèmes) :
sortie_html = « »
pour le système dans les systèmes :
system_name = system.get (« système », « PC »)
exigences = system.get (« exigence », [])
composants = []
si isinstance (exigences, str)Â :
soup = BeautifulSoup (exigences, 'html.parser')
lis = soup.find_all (« li »)
pour li dans la liste :
category_tag = li.find (['span', 'strong'])
si category_tag :
catégorie = category_tag.text.strip ()
texte_exigence = li.text.replace (category_tag.text, «) .strip ()
components.append ({catégorie : requirement_text})
autre :
composants = exigences
system_html = f «\n»
system_html += f »
{system_name
} Configuration système requise\n»
system_html += "\n»
system_html += "SPÉCIFICATIONS
MINIMALES
\n»
system_html += "\n»
pour composant dans composants :
pour la catégorie, exigence dans component.items () :
- system_html += f »\n»
system_html += f » {catégorie} {exigence}\n»
system_html += "\n
»
system_html += "\n
»
system_html += "\n\n»
html_output += system_html
renvoie html_output.strip ()
```
### Explication
- **Parsing Input** : la fonction `generate_html` traite chaque système de la liste d'entrées. Si les exigences sont fournies sous forme de chaîne HTML, BeautifulSoup est utilisé pour analyser la chaîne et extraire la catégorie et le texte de chaque exigence.
- **Génération HTML** : pour chaque système, la fonction construit une section HTML contenant le nom du système, un titre, un paragraphe « SPÉCIFICATIONS MINIMALES » et une liste non ordonnée des exigences. Chaque exigence est mise en forme avec une étendue pour la catégorie et le texte de l'exigence.
- **Concaténation** : le code HTML généré pour chaque système est concaténé pour former le résultat final.
Cette approche garantit que les exigences du système sont mises en forme de manière cohérente et clairement présentées en HTML, conformément aux directives spécifiées.
Pour utiliser la carte, rendez-vous sur https://www.airbnb.pt/gift et connectez-vous Ă votre compte.
Les cartes-cadeaux peuvent être utilisées pour n'importe quel séjour, expérience ou expérience en ligne sur Airbnb.
Une fois que vous avez utilisé votre carte et que vous avez ajouté les fonds de la carte à votre compte, vous pouvez accéder aux modes de paiement de votre compte et vérifier votre solde.
Une fois qu'une carte-cadeau a été ajoutée à votre compte Airbnb, les fonds n'expirent pas.
Soyez le premier à donner votre avis sur ce produit !
PARTAGEZ