入力した数字、
計算できる?
キーボードから受け取った「3」は、すぐに足し算できるのかな? ROBORONと、文字が数字に変わる瞬間を見に行こう。
しくみを見に行く
このページでできるようになること
- 01
input()で値を受け取る - 02 入力された「数字」が文字列になる理由を説明する
- 03
int()による型変換(キャスト)で整数に変え、計算に使う
キーボードから受け取ろう
前回はプログラムに値を直接書きました。今度は、使う人が入力したものを受け取ります。

私がりんごの数を決められたら、毎回プログラムを書き換えなくていいんだね!

そのとおり。いい考え方だね。 は入力を待って、届いた文字を受け取るんだよ。
1 name = input("名前を入力: ")2 print(name)Aさん
ROBORONのチェック!input() の丸かっこの中の文は、入力をお願いするときに表示される案内だよ。
このプログラムを実際に実行すると、案内が表示され、入力して確定するまで次の行に進みません。
「3」を数値に変える
input() の結果は、3と入力しても文字列の "3" です。計算の前に値の種類を変えます。この操作をと呼びます。

利用者が「3」と入力した場合も、前回の文字列と同じ扱いになるのでしょうか。

そうなんだよ。キーボードから届いたものは、まず文字として受け取る。 を使うと、整数として計算できるようになるんだ。

へぇ、見た目が3でも、文字の服を着ているんだ! 計算するときに着替えるんだね。
"3" は文字列。int("3") で新しい整数値の 3 を得ると、数として足せます。"3" + "2""32"int("3") + 25int("りんご") は変換できず、Pythonでは が出ます。小数を扱うときは float() を使います。まずは整数で試しましょう。
「入力→変換→計算」を体験
半角の0〜99を入力して、各段階で何が変わるか見てみよう。文字を入力した場合の様子も確かめられます。
"3"文字列3整数5整数raw_count = input("りんごは何個?: ")
apple_count = int(raw_count)
print(apple_count + 2)上の操作はPythonをブラウザで実行するものではありません。Pythonで起こる値の変化を、学習用に再現しています。
2つの数で計算しよう
両方の入力を整数に変えれば、足し算・引き算・掛け算・割り算ができます。

2つの値を入力するなら、どちらも int() で変換する必要がありますね。

その通り。片方だけ文字のままだと、数同士の計算にならないんだよ。式の両側を確かめるのは、いい習慣だね。
a + b足すa - b引くa * b掛けるa / b割る8 + 2足し算では、8と2を合わせて10になります。
first = int(input("1つ目の整数: "))
second = int(input("2つ目の整数: "))
print(first + second)Pythonでは掛け算に *、割り算に / を使います。/ の結果は、割り切れるときも小数型の値になります。0で割ることはできません。
コーヒーブレイク:余りを知りたいときは?
11個のりんごを3人で同じ数ずつ分けると、1人3個で2個余ります。Pythonなら 11 // 3 が商の 3、11 % 3 が余りの 2 です。お菓子の袋詰めや、順番を繰り返す処理でも活躍します。
予想して、確かめよう
答えを選んだあと、理由も読んでみよう。「なぜ?」がわかれば次の問題にも使えます。
input() に「4」と入力した直後、その値の種類は?
答えを選ぶと、理由が表示されます。
次の結果は何かな?
print(int("4") + 2)答えを選ぶと、理由が表示されます。
もっと試したい人へ:2つの入力を足す
Pythonを実行できる環境で、上の「1つ目の整数」と「2つ目の整数」のコードを試してみてください。最初に 12、次に 5 と入力したら、表示結果は 17 になります。数を変えて、予想と結果を比べてみましょう。
入力して、計算してみよう
input() で使う値は「入力する値」欄へ先に書いてください。
コードを変えて、結果がどう変わるか試そう。Ctrl+Enterでも実行できます。
この欄に、コードの input() が受け取る値を1行ずつ書きます。
準備できました。
実行結果
実行すると、ここに結果を表示します。
Pythonは閲覧中の端末内で動作します。

「入力はまず文字 → 必要なら数に変える → 計算する」。この順番がつかめたね。数字そっくりの文字に惑わされなくなったら、もう一歩前進なんだよ。