ユーザー入力を受け入れる
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):25や100など、引用符のない整数。 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 と見なします。これは不可能な数式です。