La sortie souhaitée: Si personne ne l'aimait, il a probablement eu du mal à s'aimer. em> Cependant, cela ne fonctionne pas. Comment puis-je atteindre des virgules et des périodes dans une liste? P> p>
6 Réponses :
Utiliser remplacer code> pour corriger la période et la virgule
Pourquoi gardez-vous la boucle?
en utilisant sortie: p> str.join () code>
avec remplacer () code>:
premier, second, vous pouvez simplement itérer mot dans une boucle. p> Code correct: p> mots [i] == "". ou "," code> sera toujours vrai. Donc, vous entrez toujours dans
Continuer code> qui est la raison pour laquelle vous ne pouvez rien imprimer. Vous devriez le changer en
Word == "". ou Word == "," code>
words = ["if", "nobody", "loved", "him", ",", "he", "probably", "struggled", "to", "love", "himself", "."]
sentence = ""
for word in words:
if word == "." or word == ",":
sentence += word
else:
sentence += " "
sentence += word
print(sentence.strip().capitalize())
Vous pouvez utiliser une regex, vous devez simplement mettre les caractères qui n'ont pas besoin d'espace, dans le support le regex [.,;] code>, il est plus facile de gérer de nouveaux cas et plus court donc
(?: ([.,;])) code> correspondre à un espace suivi de l'un des caractères à l'intérieur du support et remplacez par ce char seulement (sans l'espace afin) p> p>
Nous pourrions définir des règles de ponctuation, puis les appliquer tout en fusionnant des mots un par un dans une phrase existante. L'avantage de la définition de la règle de ponctuation est que nous pourrions alors changer de langue de manière plus simple que si la logique était codée dur.
In [3]: fr_punctuation_rules = {'.': '.', ',': ',', '!': ' !', '?': ' ?'} ...: fr_words = ["si", "personne", "ne", "l'aime", ",", "comment", "pourrait-il", "s'aimer", "lui-même", "?"] ...: fr_sentence = sentence_language(fr_punctuation_rules) ...: fr_sentence(fr_words) "Si personne ne l'aime, comment pourrait-il s'aimer lui-même ?"
Vous pouvez utiliser une concaténation à chaîne également et une autre liste pour les signes que vous ne voulez pas être en dernière phrase, quelque chose comme ceci:
Un Un exemple de reproductible minimal n'est pas que le code et la spécification brisés. Dites pourquoi le code devrait travailler et trouver le premier point où l'état n'est pas ce que vous attendez & le montrer et dire ce que vous attendez et pourquoi.