Python × 入門 | #05 キーボードから入力しよう

文字列まで扱えるようになったので、今度はプログラムの外から値を受け取ってみましょう。Pythonでは、キーボードから入力された文字を input() で受け取ることができます。

たとえば名前を入力してもらってあいさつしたり、値段と個数を入力して合計金額を出したりできます。プログラムが「決まった結果を出すもの」から、「使う人に合わせて動くもの」に変わるところです。

inputで入力を受け取ろう

まずはPycoBlocksを開こう

下のPycoBlocksで直接作業するか、別タブで開き、生成されるPythonコードを見ながら進めてください。今回は「入力」カテゴリのキーボード入力ブロックを使います。

ブラウザ版のPycoBlocksでは、input() を実行するとブラウザの入力ダイアログが表示されます。実行ボタンを押したあと、画面上部や中央に入力欄が出ていないか確認してください。

input()とは何か

input() は、実行中のプログラムがユーザーに質問し、入力された文字を受け取る命令です。かっこの中には、画面に表示したい案内文を書きます。

name = input("名前を入力してください")
print(name)

この例では、入力された文字が name という変数に入ります。そのあと print(name) で、入力された内容を表示しています。

注意点は、input() で受け取った値は、見た目が数字でも最初は文字列として扱われることです。計算に使いたいときは、整数なら int()、小数なら float() で変換します。

用語 意味
input() キーボードから文字を受け取る関数。返り値は常に文字列 name = input("名前を入力")
int() 文字列や小数を整数に変換する関数 int("42")42
float() 文字列や整数を小数(浮動小数点数)に変換する関数 float("1.7")1.7

ステップ1:名前を入力して表示しよう

「キーボード入力」ブロックで、種類を「テキスト」にし、案内文と変数名を設定します。右のPythonコードは、だいたい次の形になります。

ブロック例:名前を入力して表示
name = input("名前を入力してください")
print(name)

実行すると入力ダイアログが出ます。たとえば Taro と入力すると、出力欄に Taro と表示されます。

ステップ2:整数として入力しよう

2つの整数を入力して足し算してみましょう。入力の種類は「数値(整数)」にします。

ブロック例:2つの整数を足す
a = int(input("1つ目の整数を入力してください"))
b = int(input("2つ目の整数を入力してください"))
print(a + b)

int() は、文字列を整数に変換する命令です。34 を入力すると、3 + 4 として計算されるので、結果は 7 になります。

ステップ3:小数として入力しよう

身長や重さのように小数を使いたいときは、入力の種類を「数値(小数)」にします。Pythonのコードでは float() が使われます。

ブロック例:身長(cm)をmに直す
cm = float(input("身長をcmで入力してください"))
print(cm / 100)

たとえば 170 と入力すると、1.7 と表示されます。cmを100で割って、mに直しているわけです。

実際に動かしてみよう

ここまでの内容を見ながら、下のPycoBlocksで同じブロックを組んで実行してみてください。まずはステップ1の名前入力から試すと分かりやすいです。

うまく動いたら、案内文を変えてみたり、計算式を変えてみたりしてください。ブロックを少し変えるだけで、コードのどこが変わるかも見えてきます。

コーディングモードで書いてみよう

ここで、よくあるつまずきをひとつ見ておきます。次のコードで 34 を入力すると、何が表示されるでしょうか。

a = input("1つ目の数")
b = input("2つ目の数")
print(a + b)

答えは 7 ではなく、34 です。input() のままだと、34 も文字列として扱われます。文字列どうしの + は、足し算ではなく「つなげる」動きになるからです。

a = int(input("1つ目の数"))
b = int(input("2つ目の数"))
print(a + b)

int() で整数に変換すれば、a + b は足し算になります。Pythonでは「数字に見える文字」と「計算できる数値」は別物だと覚えておきましょう。

算術演算子の種類

Pythonには加減乗除以外にも便利な演算子があります。

x = 10
print(x ** 2)   # 100(べき乗:x の 2 乗)
print(x // 3)   # 3(整数除算:小数点以下を切り捨て)
print(x % 3)    # 1(余り:10 ÷ 3 の余りは 1)

演習課題

入力は、作るプログラムを一気に実用寄りにしてくれます。ここでは、名前、金額、身長と体重を入力する3つの課題に挑戦してみましょう。

課題5-1:名前を使ってあいさつしよう

名前を入力してもらい、こんにちは、○○さん! と表示するプログラムを作ってください。

▶ 模範解答と解説を見る

ブロックの組み合わせ例:

模範解答:あいさつ
name = input("名前を入力してください")
print(f"こんにちは、{name}さん!")

解説: 入力された文字列を name に入れ、f文字列で文章の中に埋め込んでいます。

課題5-2:合計金額を計算しよう

1個の値段と個数を入力し、合計金額を表示してください。たとえば、値段が 120、個数が 3 なら、結果は 360 になります。

▶ 模範解答と解説を見る

ブロックの組み合わせ例:

模範解答:合計金額
price = int(input("1個の値段を入力してください"))
count = int(input("個数を入力してください"))
print(price * count)

解説: 値段も個数も整数として計算したいので、入力の種類は「数値(整数)」にします。

課題5-3:BMIを計算しよう

身長をm、体重をkgで入力し、BMIを計算して表示してください。BMIの式は 体重 / (身長 ** 2) です。

▶ 模範解答と解説を見る

ブロックの組み合わせ例:

模範解答:BMI
height = float(input("身長をmで入力してください"))
weight = float(input("体重をkgで入力してください"))
print(weight / (height ** 2))

解説: 身長は 1.70 のような小数になるので、float() で受け取ります。** 2 は2乗という意味です。

課題5-4:2つの整数を入力して四則演算結果を表示しよう

整数 ab を入力し、足し算・引き算・掛け算・割り算・整数除算・余りの結果を6行で表示してください。

▶ 模範解答と解説を見る

ブロックの組み合わせ例:

四則演算の結果をまとめて表示するブロック例
a = int(input("整数aを入力してください"))
b = int(input("整数bを入力してください"))
print(f"a + b = {a + b}")
print(f"a - b = {a - b}")
print(f"a * b = {a * b}")
print(f"a / b = {a / b}")
print(f"a // b = {a // b}")
print(f"a % b = {a % b}")

解説: input() で受け取った値は文字列なので、int() で整数に変換してから計算します。6種類の演算子をまとめて確認する問題です。b = 0 を入力するとどうなるか試してみましょう(ZeroDivisionError)。

課題5-5:生まれた年を入力して年齢を計算しよう

生まれた年(西暦4桁)を入力してもらい、2026年時点での年齢を計算して表示してください。表示例:生まれた年: 2010 → 2026年時点の年齢: 16歳

▶ 模範解答と解説を見る

ブロックの組み合わせ例:

誕生年から年齢を計算するブロック例
birth_year = int(input("生まれた年(西暦4桁)を入力してください"))
age = 2026 - birth_year
print(f"生まれた年: {birth_year} → 2026年時点の年齢: {age}歳")

解説: input()で受け取った文字列を int() で整数に変換してから引き算しています。誕生日が来ているかどうかによって実際の年齢は1歳変わりますが、シンプルな計算で概算できます。

まとめ

  • input() を使うと、実行中にキーボードから文字を受け取れます
  • 入力された値は、まず文字列として扱われます
  • 計算に使うときは、整数なら int()、小数なら float() で変換します
  • 変換前の文字列に + を使うと数値の計算ではなく文字列の連結になる(例:"3"+"4""34"

次は、TrueFalse、そして比較演算を使って、プログラムに「正しいかどうか」を判断させる方法を学びます。→ Python × 入門 | #06 TrueとFalseを使おう

PAGE TOP