Py初めてのPython

Day 1変数・型・入出力(データの器)

print()とinput()で出力・入力する

print()で画面に表示し、input()で利用者からの入力を受け取る方法を学ぶ。

print() は「画面に表示する」命令

print() は、かっこの中に書いた内容を画面に表示する命令です。プログラムの結果を確認したり、途中経過を見たりする、いちばん基本の出力手段です。

PYTHON
print("はじめてのPython")
print(100)
print(1 + 2)  # 計算結果 3 が表示される
文字列・数値・計算結果を表示する

print() はカンマで区切って複数のものを一度に表示できます。区切りには自動で半角スペースが入ります。

PYTHON
name = "田中"
print("こんにちは", name, "さん")
# こんにちは 田中 さん
カンマ区切りで複数の値を表示

input() は「利用者から文字を受け取る」命令

input() は、キーボードから入力された文字を受け取る命令です。かっこの中に書いた文字は、入力を促すメッセージとして先に表示されます。入力された内容は変数に代入して使います。

PYTHON
name = input("名前を入力してください: ")
print("ようこそ、" + name + "さん")
入力を受け取り、あいさつに使う

最重要の落とし穴: input() は必ず文字列

input() が返す値は、数字を入力しても必ず str(文字列)です。年齢を入力させて計算しようとしても、そのままでは足し算できずエラーになります。数値として使うときは int() や float() で変換が必要です。

変換しない

文字列のまま計算しようとしてエラー

PYTHON
age = input("年齢: ")
print(age + 1)  # TypeError

int() で変換

整数に変換してから計算する

PYTHON
age = int(input("年齢: "))
print(age + 1)  # 正しく計算できる

なぜ変換が必要なのか

input() はキーボードからの入力を「文字の並び」として受け取るからです。"30" という文字列と 30 という整数は別物なので、計算に使うには int() で数値に変換して、型をそろえる必要があります。

  • int("30") は文字列 "30" を整数 30 に変換する
  • float("3.14") は文字列を小数に変換する
  • str(30) は逆に整数を文字列 "30" に変換する

AIにはこう聞く

「input()で受け取った値で計算したらエラーになった」とコードとエラー文を貼って聞くと、どこで変換すべきか教えてくれます。直った後は、なぜ int() が必要だったのかを自分の言葉で説明できるか確認します。

読んでも腑に落ちない所は、AIに噛み砕いてもらいましょう。

理解度チェック

答えられれば、面接で説明できる状態に一歩近づきます。

Q1

input() が返す値の型は何ですか。

Q2

利用者が入力した年齢に1を足して表示したいとき、正しいのはどれですか。

Q3

input() で受け取った値を計算に使うとき、なぜ int() などの変換が必要になるのか説明してください。

記述式です。まず自分の言葉で答えを考えてから、模範解答を開いて自己採点してください。