Maison >développement back-end >Tutoriel Python >Ma solution en langage Python pour la tâche du défi hebdomadaire
Le Weekly Challenge, organisé par Mohammad S. Anwar, est une compétition amicale dans laquelle les développeurs s'affrontent en résolvant une paire de tâches. Il encourage la participation des développeurs de toutes langues et de tous niveaux à travers l'apprentissage, le partage et le plaisir.
La semaine dernière, j'ai participé au défi hebdomadaire 299 en résolvant la tâche 1 : Remplacer les mots. La tâche mettait les développeurs au défi d'écrire un script qui, lorsqu'on leur donnait un tableau et une phrase, remplaçait tous les mots de la phrase commençant par l'un des mots du tableau.
Dans cet article, je présente un aperçu et ma solution pour la tâche 1 : Remplacer les mots du défi hebdomadaire 299 et je termine par une brève conclusion.
Vous recevez un tableau de mots et une phrase.
Écrivez un script pour remplacer tous les mots de la phrase donnée qui commencent par l'un des mots du tableau donné.
Le défi hebdomadaire 299, Tâche 1 : Remplacer les mots
Les exemples 1 à 3 illustrent les résultats attendus à partir d'entrées données.
Input: @words = ("cat", "bat", "rat") $sentence = "the cattle was rattle by the battery" Output: "the cat was rat by the bat"
Le résultat peut être obtenu en remplaçant n'importe quel mot de $phrase par $word de @words s'il commence par $word, par exemple :
Input: @words = ("a", "b", "c") $sentence = "aab aac and cac bab" Output: "a a a c b"
Input: @words = ("man", "bike") $sentence = "the manager was hit by a biker" Output: "the man was hit by a bike"
def replace_word(sentence, this_word): return ' '.join([this_word if word.startswith(this_word) else word for word in sentence.split(' ')]) def replace_words(words, sentence): for word in words: sentence = replace_word(sentence, word) return sentence
Ma solution utilise deux fonctions : replace_word et replace_words.
La fonction replace_word remplace n'importe quel mot de la phrase de chaîne commençant par this_word par this_word à l'aide des méthodes de chaîne intégrées split, startwith et join et d'une compréhension de liste.
La fonction replace_words applique successivement replace_word à la phrase pour chaque mot du tableau de mots. Il renvoie ensuite la phrase transformée.
Dans cet article, j'ai présenté un aperçu et ma solution de la tâche 1 : Remplacer les mots du défi hebdomadaire 299.
Depuis que j'ai utilisé des méthodes intégrées telles que split, join et Startswith dans ma solution, elle est simple, détaillée et peut-être facile à comprendre. Une telle approche peut vous être utile si vous êtes nouveau sur Python, nouveau en programmation ou peu familier avec les expressions régulières.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!