ホームページ > バックエンド開発 > Python チュートリアル > タスクROMに対する私のPython言語ソリューション The Weekly Challenge

タスクROMに対する私のPython言語ソリューション The Weekly Challenge

Patricia Arquette
リリース: 2024-12-17 20:37:10
オリジナル
218 人が閲覧しました

My Python Language Solution to Task rom The Weekly Challenge

1. はじめに

Mohammad S. Anwar が主催する Weekly Challenge は、開発者が 2 つのタスクを解決することで競うフレンドリーなコンテストです。学習、共有、楽しみを通じて、あらゆる言語とレベルの開発者の参加を奨励します。

先週、私はウィークリー チャレンジ 299 に参加し、タスク 1: 単語の置換を解決しました。このタスクでは、配列と文が与えられたときに、配列内のいずれかの単語で始まる文内のすべての単語を置き換えるスクリプトを作成することが開発者に要求されました。

この投稿では、タスク 1: ウィークリー チャレンジ 299 の単語を置き換える、の概要とその解決策を示し、短い結論で終わります。

2. タスク 1: 単語を置き換える

単語の配列と文が与えられます。

指定された配列内のいずれかの単語で始まる、指定された文内のすべての単語を置き換えるスクリプトを作成します。

ウィークリー チャレンジ 299、タスク 1: 単語を置き換える

例 1 ~ 3 は、指定された入力から予想される出力を示しています。

例1

Input: @words = ("cat", "bat", "rat")
       $sentence = "the cattle was rattle by the battery"
Output: "the cat was rat by the bat"
ログイン後にコピー

出力は、$sentence 内の任意の単語が $word で始まる場合、@words の $word に置き換えることによって取得できます。次に例を示します。

  • cattle という単語は cat という単語で始まるので、cattle を cat に置き換えると、文は「猫は電池でガラガラだった」という文に変わります。
  • バッテリーという単語はバットで始まるので、バッテリーをバットに置き換えると、文は「猫はバットでガラガラだった」に変わります。
  • ガラガラという単語はネズミという単語で始まるので、ガラガラをネズミに置き換えると、文は「猫はコウモリによってガラガラとされました」に変わります。

例 2

Input: @words = ("a", "b", "c")
       $sentence = "aab aac and cac bab"
Output: "a a a c b"
ログイン後にコピー

例 3

Input: @words = ("man", "bike")
       $sentence = "the manager was hit by a biker"
Output: "the man was hit by a bike"
ログイン後にコピー

3. 私の解決策

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
ログイン後にコピー

私のソリューションでは、replace_word と replace_words という 2 つの関数を使用します。

replace_word 関数は、組み込みの文字列メソッド split、startswith、join とリスト内包表記を使用して、this_word で始まる文字列文内の単語を this_word に置き換えます。

  • Sentence.split(' ') は、(' ') を区切り文字として使用して文を単語のリストに分割します。
  • リスト内包表記 [this_word if word.startswith(this_word) else word for word in...] は、分割文リストから単語の別のリストを作成し、this_word で始まる単語を this_word に置き換えます。
  • ' '.join(...) は、(' ') を使用して 2 番目のリストを文字列に連結します。
  • return は文字列
  • を返します

replace_words 関数は、配列 Word 内の各単語の文に replace_word を連続的に適用します。次に、変換された文を返します。

4. 結論

この投稿では、タスク 1: ウィークリー チャレンジ 299 の単語を置き換えるの概要とその解決策を紹介しました。

ソリューションでは、split、join、startswith などの組み込みメソッドを使用したため、単純で冗長で、おそらく理解しやすいものになっています。このようなアプローチは、Python を初めて使用する場合、プログラミングに慣れていない場合、または正規表現に慣れていない場合に役立つ場合があります。

以上がタスクROMに対する私のPython言語ソリューション The Weekly Challengeの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:dev.to
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート