ロジカ式logo

はじめての
Python

ページ一覧に戻る
Lesson12 データ型とinput( )
ロボた

「Lesson7 親切なプログラム」のときに、Pythonで扱う値にはそれぞれ型があるって学んだのを覚えているかな?

文字列は「strストリング型」で、数値には「intインテジャー型(整数)」と「floatフロート型(小数)」あるっていうことだったよね!それにあともう一つ、「True」と「False」という2つの値だけを扱う「boolブーリアン型」というのもあったよね!

ロボち
データ型意味
str型文字列"abc" "あいう"
int型整数12 34 5
float型小数3.14 2.23
bool型真偽値True False
ロボた

それに、「+」を使って文字列と数値をつなげるときには、数値は「str( )」で文字列の型に変換しないといけなかったんだったよね!

それともう一つ、計算するときには、文字列型の数字は数値型に変換しないと、そのままでは計算に使えないってことも覚えておいてね!

ロボち
データ型変換

input( )

ロボた

「input( )」を使うと、キーボードから入力した文字列や数値を、プログラムの中で使うことができるんだ!

下のコードを実行してみてね!
そうすると、「input( )」のところで入力ダイアログが表示されるから、キーボードから何か入力してね!

ロボち
ロボた

「OK」ボタンをクリックすると、結果として入力した値が表示されるよ!

キーボードから入力された値は、変数「str」に代入されるようになっているんだ!

ロボち
キーボード入力
EXAMPLE
str = input() print(str)
ロボた

「input( )」でキーボードから入力されたすべての値は、いったん「文字列型」として取り込まれていることを覚えておいてね!

だから、入力した数値で計算をしたいときには、必ず「int( )」か「float( )」を使って数値型に変換してあげないといけないよ!

ロボち
数値型に変換
ロボた

それと、この学習システムでは、残念だけど「input( )」は限定的な使い方しかできないんだ!

「プログラムの最初に何かを入力させる」という使い方でないと、正しく動作しないんだ!
それでも、いろいろとおもしろいプログラムを作れるからね!

ロボち

使い方の例

📝1
キーボードから入力された文字列と数字を、連結して表示させています。
*最初の入力では「あいうえお」のように文字列を入力して、「OK」ボタンをクリックしてください。
次の入力では「12345」のように数値を入力して、「OK」ボタンをクリックしてください。

EXAMPLE
#キーボードから「文字列」と「数字」を入力する。 str1 = input() str2 = input() #入力された値を連結して表示する。 print(str1 + str2)
ロボた

キーボードから入力された「12345」は「文字列型」として取り込まれているから、「+」で問題なく連結することができるんだ!

最初にキーボードで「1234」、次に「5678」と両方数字を入力したらどうなるか確かめてみてね!

ロボち

📝2
キーボードから入力された2つの整数値で、計算をしています。
*Pythonでは全角文字と半角文字が混ざるとエラーが発生することがあります。そのため、できるだけ半角モードで入力するようにしてください。

EXAMPLE
#キーボードから2つの整数値を入力する。 str1 = input() str2 = input() #入力された値を整数型に変換する。 number1 = int(str1) number2 = int(str2) #それぞれの値を使って計算する。 print(number1 + number2) print(number1 - number2) print(number1 * number2) print(number1 / number2)
ロボた

整数として計算をするために、5行目と6行目で「int( )」を使って入力された値を整数型に変換しているよ!

小数として計算をしたいときには、「float( )」を使えばいいんだ!

ロボち

📝3
キーボードから入力された値を、入力時に数値型に変換し計算をしています。
*最初の入力では整数を、2回目の入力では小数を半角モードで入力してください。

EXAMPLE
#キーボードから2つの数値を入力する。 number1 = int(input()) number2 = float(input()) #それぞれの値を使って計算する。 print(number1 + number2) print(number1 - number2) print(number1 * number2) print(number1 / number2)
ロボた

キーボードから入力された値を、プログラムの中ではどんな型にするか決まっているなら、取り込むときにこんなふうに変換しちゃってもいいんだよ!

これもよくされているので、覚えておくといいよ!

ロボち
POINT
  •   Pythonには、「str型(文字列)」「int型(整数)」「float型(小数)」「bool型(TrueかFalse)」の4つの型がある。
  •   文字列型と数値型では、計算することができない。
  •   文字列型の数字は、「int( )」か「float( )」を使って、数値型に変換できる。