ユーザー入力を受け入れる

完了

Tip

詳細については、「 テキストと画像 」タブを参照してください。

プログラムは、使用しているユーザーとやり取りできるようになると、本当に強力になります。 Pythonの組み込みのinput()関数を使用すると、プログラムを一時停止し、ユーザーが何かを入力するのを待って、その情報をキャプチャできます。

input() の使用

input()関数は質問プロンプトと考えてください。 Pythonがこの行にヒットすると、ユーザーが回答を入力し、Enter キーを押してからコードの残りの部分に進みます。

回答を保存するには、変数を使用して "キャッチ" する必要があります。

favorite_color = input("What is your favorite color? ")
print("Oh, I love", favorite_color, "too!")

このコードでは、 favorite_color はユーザーの応答をキャッチする変数です。 ユーザーが入力 BlueEnter キーを押すと、出力は次のようになります。

What is your favorite color? Blue
Oh, I love Blue too!

このコードは、 https://aka.ms/python-coderのオンライン Python インタープリターで自分で実行してみてください。

Tip

プロンプトの最後に空白が表示されます: "What is your favorite color? "。 ユーザー入力を受け入れる場合は、引用符を閉じる前にスペースまたは新しい行を追加します。 そうしないと、ユーザーの入力がテキストに直接接着され、次のように乱雑に見えます。 What is your favorite color?Blue

データ型に関する簡単な単語

先に進む前に、Python内のすべての値にデータ型があることを理解しておくのに役立ちます。データ型は、使用している値の種類Python示すラベルです。 たとえば、次のような一般的なデータ型があります。

  • 文字列 (str): "Blue""25"など、引用符で囲まれたテキスト。 数値であっても、引用符内にある場合はテキストになります。
  • 整数 (int): 25100など、引用符のない整数。 Pythonは、これらを使用して数学を行うことができます。

なぜこれが重要なのでしょうか。 Pythonでは、これら 2 つの型は非常に異なる方法で扱います。 数値を一緒に追加できますが (25 + 126と等しくなります)、テキストに数値を追加することはできません (エラーが発生"25" + 1)。

入力は常にテキストです

覚えておくべき重要なルールは、ユーザーが数値を入力した場合でも、 input() 関数は 常に テキストを返すということです。 例えば次が挙げられます。

age = input("How old are you? ")
print("Next year you will be", age + 1)

このコードを実行し、「 25」と入力すると、 26出力される可能性があります。 代わりに、Pythonクラッシュし、コンソールにエラー メッセージが表示されます。

TypeError: can only concatenate str (not "int") to str

ageはテキストとしてロックされているため、まだ算術演算を実行することはできません。

このエラーの読み方

エラーは、コード内で問題が発生したことを示す手掛かりです。 これらの手掛かりを分解しましょう。

  • TypeError: 一緒に属していない 2 つのデータ型を混在させようとしています。
  • can only concatenate str (not "int") to str: "連結" とは、テキストを結合することを意味します。

Pythonは、「あなたは私にテキスト"25"を与え、それに番号1を接着するように私に頼みました。 テキストをテキストに接着することはできますが、数値をテキストに接着する方法がわかりません。

input()はテキストクォート内でユーザーの応答をロックするため、Pythonは計算を "25" + 1 と見なします。これは不可能な数式です。