Day 1・変数・型・入出力(データの器)
print()とinput()で出力・入力する
print()で画面に表示し、input()で利用者からの入力を受け取る方法を学ぶ。
print() は「画面に表示する」命令
print() は、かっこの中に書いた内容を画面に表示する命令です。プログラムの結果を確認したり、途中経過を見たりする、いちばん基本の出力手段です。
print("はじめてのPython")
print(100)
print(1 + 2) # 計算結果 3 が表示されるprint() はカンマで区切って複数のものを一度に表示できます。区切りには自動で半角スペースが入ります。
name = "田中"
print("こんにちは", name, "さん")
# こんにちは 田中 さんinput() は「利用者から文字を受け取る」命令
input() は、キーボードから入力された文字を受け取る命令です。かっこの中に書いた文字は、入力を促すメッセージとして先に表示されます。入力された内容は変数に代入して使います。
name = input("名前を入力してください: ")
print("ようこそ、" + name + "さん")最重要の落とし穴: input() は必ず文字列
input() が返す値は、数字を入力しても必ず str(文字列)です。年齢を入力させて計算しようとしても、そのままでは足し算できずエラーになります。数値として使うときは int() や float() で変換が必要です。
変換しない
文字列のまま計算しようとしてエラー
age = input("年齢: ")
print(age + 1) # TypeErrorint() で変換
整数に変換してから計算する
age = int(input("年齢: "))
print(age + 1) # 正しく計算できるなぜ変換が必要なのか
input() はキーボードからの入力を「文字の並び」として受け取るからです。"30" という文字列と 30 という整数は別物なので、計算に使うには int() で数値に変換して、型をそろえる必要があります。
- int("30") は文字列 "30" を整数 30 に変換する
- float("3.14") は文字列を小数に変換する
- str(30) は逆に整数を文字列 "30" に変換する
AIにはこう聞く
「input()で受け取った値で計算したらエラーになった」とコードとエラー文を貼って聞くと、どこで変換すべきか教えてくれます。直った後は、なぜ int() が必要だったのかを自分の言葉で説明できるか確認します。
読んでも腑に落ちない所は、AIに噛み砕いてもらいましょう。
理解度チェック
答えられれば、面接で説明できる状態に一歩近づきます。
input() が返す値の型は何ですか。
利用者が入力した年齢に1を足して表示したいとき、正しいのはどれですか。
input() で受け取った値を計算に使うとき、なぜ int() などの変換が必要になるのか説明してください。
記述式です。まず自分の言葉で答えを考えてから、模範解答を開いて自己採点してください。