はじめに
このプロジェクトでは、Python スクリプトと正規表現を使ってユーザー入力から整数を抽出する方法を学びます。このプロジェクトは、正規表現の基本と、実際のプログラミングタスクでの適用方法を理解するのに役立ちます。
👀 プレビュー
~/project/$ python find_int.py
a1b2c3d4
1 2 3 4
~/project/$ python find_int.py
1 2 3 4
1 2 3 4
~/project/$ python find_int.py
12 3ad5
12 3 5
🎯 タスク
このプロジェクトでは、以下を学びます。
- ユーザー入力を処理する Python スクリプトを作成する方法
- 文字列を検索して整数を抽出するための正規表現の使い方
- 抽出した整数を処理して出力するためのフォーマット方法
🏆 成果
このプロジェクトを完了すると、以下のことができるようになります。
- ユーザー入力から数値データを抽出できる Python スクリプトを書く
- 正規表現の基本と、Python での適用方法を理解する
- Python プログラミングと正規表現技術を組み合わせて実際の問題を解決する能力を示す
Python スクリプトをセットアップする
このステップでは、新しい Python スクリプトファイルを作成し、必要なモジュールをインポートします。
- テキストエディタを開き、
/home/labex/projectディレクトリにfind_int.pyという名前の新しいファイルを作成します。 - ファイルの先頭で、
re(正規表現)モジュールをインポートします。このモジュールは、ユーザー入力から整数を抽出するために使用されます。
import re
整数を抽出する関数を定義する
このステップでは、ユーザー入力を受け取り、そこからすべての整数を抽出する関数を作成します。
extract_integersという名前の関数を定義し、単一の引数user_inputを取ります。
def extract_integers(user_input):
## 次のステップでコードを追加します
pass
整数抽出ロジックを実装する
このステップでは、正規表現を使ってユーザー入力から整数を抽出するロジックを実装します。
extract_integers関数の中で、re.findall()メソッドを使って、user_input文字列の中のすべての数字列(整数)を見つけます。
def extract_integers(user_input):
integers = re.findall(r"\d+", user_input)
return " ".join(integers)
r"\d+" の正規表現パターンは、1 つ以上の数字(0 - 9)を一致させます。re.findall() 関数は、一致したすべての整数のリストを返します。
- その後、関数は抽出された整数を空白区切りの文字列に結合して返します。
ユーザー入力を処理して結果を表示する
この最後のステップでは、ユーザーに入力を促し、extract_integers 関数を呼び出して結果を表示します。
find_int.pyファイルの末尾に次のコードを追加します。
if __name__ == "__main__":
user_input = input()
result = extract_integers(user_input)
print(result)
このコードは、スクリプトが直接実行されているかどうか(モジュールとしてインポートされていないかどうか)を確認し、その後ユーザーに入力を促し、ユーザーの入力を使って extract_integers 関数を呼び出し、結果として得られる空白区切りの整数の文字列を表示します。
これで、あなたの find_int.py スクリプトは完成です。スクリプトを実行して、さまざまなユーザー入力でテストすることができます。
~/project$ python find_int.py
a1b2c3d4
1 2 3 4
~/project$ python find_int.py
1 2 3 4
1 2 3 4
~/project$ python find_int.py
12 3ad5
12 3 5
おめでとうございます!Python スクリプトと正規表現を使ってユーザー入力から整数を抽出するプロジェクトを完了しました。
まとめ
おめでとうございます!このプロジェクトを完了しました。あなたのスキルを向上させるために、LabEx でさらに多くの実験を行って練習することができます。



