この記事で学べる知識:フォーマット文字列(f文字列)
この記事の練習問題で使用する知識:
入力と出力の基本、コメントの書き方、変数の宣言と代入、基本データ型と算術演算子、文字列の操作、フォーマット文字列、乱数生成
<<前の問題 | 問題集Top |
次の問題>> |
Pythonの「フォーマット文字列(f文字列)」とは
ここではPythonにおける「フォーマット文字列(f文字列)」の意味や使い方を復習します。必要ない方はここをクリックして練習問題へ飛びましょう。
プログラミングにおいて、データをわかりやすく表示することは非常に重要です。そしてPythonのフォーマット文字列はデータを特定の形式で見やすく表示したいときに役立つ機能です。
初心者向けにPythonのフォーマット文字列の使い方をわかりやすく説明します。
置換フィールド(f-strings
)
Python 3.6以降で利用できるf文字列(f-strings)は、フォーマット文字列の最も簡単で強力な方法です。
文字列の中に直接変数を埋め込んで表示できるので、コードがシンプルになります。
name = "Alice" age = 30 print(f"名前は{name}で、年齢は{age}歳です。")
このコードの出力は以下のようになります。
名前はAliceで、年齢は30歳です。
f
の後に続く文字列の中で、{}
の中に変数名を入れることで、その値が自動的に表示されます。
変数だけでなく、計算式や関数の結果も埋め込むことが可能です。
num1 = 10 num2 = 5 print(f"{num1} + {num2} = {num1 + num2}")
この例では、{num1 + num2}
が計算されて出力されます。
10 + 5 = 15
フォーマット指定子
フォーマット文字列では、値の表示形式を指定できます。
例えば小数点以下の桁数を指定したり、数値を整列させたりすることができます。
pi = 3.14159 print(f"円周率は{pi:.3f}です。")
このコードの出力は以下のようになります。
円周率は3.142です。
.3f
は、小数点以下3桁まで表示するという指定です。
また、数値を整列させることも可能です。
for i in range(1, 6): print(f"番号: {i:02}")
このコードの出力は以下のようになります。
番号: 01 番号: 02 番号: 03 番号: 04 番号: 05
{i:02}
は、2桁の数値として表示し、1桁の場合は先頭に0
を追加するという意味です。
まとめ
Pythonはフォーマット文字列を使うことでデータを効率よく表示できます。
これらのフォーマット方法をマスターすることで、データをより自由に、そして見やすく表示できるようになります。
Python練習問題1-05:フォーマット文字列で出力しよう
ユーザーから名前と年齢を入力してもらい、それをフォーマット文字列を使って表示するプログラムを作成しましょう。
この問題の要件
以下の要件に従ってコードを完成させてください。
input
関数を使って、ユーザーから名前と年齢を入力してもらうこと。- 変数
name
に名前、変数age
に年齢を代入すること。 - f-stringを使って「こんにちは、○○さん。あなたは○○歳ですね。」という形式で表示すること。
ただし、以下のような実行結果となるコードを書くこと。
*****↓↓正解コードの実行結果の例↓↓*****
名前を入力してください: 佐藤 年齢を入力してください: 25 こんにちは、佐藤さん。あなたは25歳ですね。
この問題を解くヒント
非常にシンプルな問題のため、ヒントはありません。
難しいと感じる方は上記の解説を見返してみてください。
解答例と解説
この問題の一つの正解例とそのコードの解説を以下に示します。
正解コードの例
例えば以下のようなプログラムが考えられます。
# ユーザーから名前と年齢を入力してもらい、それをフォーマット文字列で表示するプログラム # 名前を入力する name = input("名前を入力してください: ") # 年齢を入力する age = input("年齢を入力してください: ") # フォーマット文字列を使って、入力された名前と年齢を表示する # ここでf-stringを使って、フォーマット文字列を活用しています print(f"こんにちは、{name}さん。あなたは{age}歳ですね。")
正解コードの解説
非常にシンプルなコードのため解説はありません。
難しいと感じる方は上記の解説を見返してみてください。
<<前の問題 |
問題集Top |
次の問題>> |
この記事への質問・コメント
この記事を作成するにあたりAIを活用しています。
問題ないことは確認していますが、もし間違いや表現の違和感などありましたら、ご指摘頂けると大変助かります。