Heim >Backend-Entwicklung >Python-Tutorial >Meine Python-Sprachlösung für die Aufgabe aus der Weekly Challenge

Meine Python-Sprachlösung für die Aufgabe aus der Weekly Challenge

Patricia Arquette
Patricia ArquetteOriginal
2024-12-17 20:37:10214Durchsuche

My Python Language Solution to Task rom The Weekly Challenge

1. Einführung

Die von Mohammad S. Anwar organisierte Weekly Challenge ist ein freundschaftlicher Wettbewerb, bei dem Entwickler gegeneinander antreten, indem sie zwei Aufgaben lösen. Es fördert die Teilnahme von Entwicklern aller Sprachen und Niveaus durch Lernen, Teilen und Spaß haben.

Letzte Woche habe ich an der Weekly Challenge 299 teilgenommen, indem ich Aufgabe 1: Wörter ersetzen gelöst habe. Die Aufgabe forderte die Entwickler dazu auf, ein Skript zu schreiben, das bei Angabe eines Arrays und eines Satzes alle Wörter im Satz ersetzt, die mit einem der Wörter im Array beginnen.

In diesem Beitrag präsentiere ich einen Überblick und meine Lösung für Aufgabe 1: Wörter aus der wöchentlichen Herausforderung 299 ersetzen und schließe mit einem kurzen Fazit.

2. Aufgabe 1: Wörter ersetzen

Sie erhalten eine Reihe von Wörtern und einen Satz.

Schreiben Sie ein Skript, um alle Wörter im angegebenen Satz zu ersetzen, die mit einem der Wörter im angegebenen Array beginnen.

Die wöchentliche Herausforderung 299, Aufgabe 1: Wörter ersetzen

Beispiele 1–3 veranschaulichen die erwarteten Ergebnisse aus gegebenen Eingaben.

Beispiel 1

Input: @words = ("cat", "bat", "rat")
       $sentence = "the cattle was rattle by the battery"
Output: "the cat was rat by the bat"

Eine Ausgabe kann erhalten werden, indem jedes Wort in $sentence durch $word aus @words ersetzt wird, wenn es mit $word beginnt, zum Beispiel:

  • Das Wort „Rinder“ beginnt mit dem Wort „Katze“. Wenn Sie also „Rinder“ durch „Katze“ ersetzen, wird der Satz in „Katze war Rassel durch die Batterie“ umgewandelt.
  • Das Wort „Batterie“ beginnt mit der Fledermaus. Wenn Sie also „Batterie“ durch „Fledermaus“ ersetzen, wird der Satz in „Die Katze war Rassel neben der Fledermaus“ umgewandelt.
  • Das Wort „Rattle“ beginnt mit dem Wort „Ratte“. Ersetzen Sie also „Rattle“ durch „Ratte“, wird der Satz in „Cat was Rattle by the Bat“ umgewandelt.

Beispiel 2

Input: @words = ("a", "b", "c")
       $sentence = "aab aac and cac bab"
Output: "a a a c b"

Beispiel 3

Input: @words = ("man", "bike")
       $sentence = "the manager was hit by a biker"
Output: "the man was hit by a bike"

3. Meine Lösung

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

Meine Lösung verwendet zwei Funktionen: replace_word und replacement_words.

Die Funktion „replace_word“ ersetzt jedes Wort im Zeichenfolgensatz, das mit „this_word“ beginnt, durch „this_word“, wobei die integrierten Zeichenfolgenmethoden „split“, „startswith“ und „join“ sowie ein Listenverständnis verwendet werden.

  • Satz.split(' ') teilt den Satz in eine Liste von Wörtern auf, wobei (' ') als Trennzeichen verwendet wird.
  • Das Listenverständnis [dieses_Wort, wenn Wort.startsmit(diesem_Wort) sonst Wort für Wort in...] erstellt eine weitere Liste von Wörtern aus der geteilten Satzliste und ersetzt ein Wort durch dieses_Wort, wenn es mit diesem_Wort beginnt.
  • ' '.join(...) verkettet die zweite Liste mit (' ') zu einem String
  • return gibt den String
  • zurück

Die Funktion „replace_words“ wendet „replace_word“ nacheinander auf den Satz für jedes Wort im Array „words“ an. Anschließend wird der transformierte Satz zurückgegeben.

4. Fazit

In diesem Beitrag habe ich einen Überblick über und meine Lösung für Aufgabe 1: Wörter aus der wöchentlichen Herausforderung 299 ersetzen vorgestellt.

Da ich in meiner Lösung integrierte Methoden wie „split“, „join“ und „startswith“ verwendet habe, ist sie unkompliziert, ausführlich und vielleicht leicht zu verstehen. Ein solcher Ansatz kann für Sie hilfreich sein, wenn Sie neu in Python sind, neu in der Programmierung sind oder mit regulären Ausdrücken nicht vertraut sind.

Das obige ist der detaillierte Inhalt vonMeine Python-Sprachlösung für die Aufgabe aus der Weekly Challenge. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn