【Python勉強会】入門にどうぞ!入力値のさまざまな受け取り方の紹介

どうも!リョクちゃです。

今回は、Pythonで入力値を受け取るさまざまな方法を紹介していきます。

入力値については、以下の記事でもまとめているので

参考にしてみてください。

最初の関門でもあるPythonで入力値を受け取るにはどうしたらいいか?これに関する方法を簡単に紹介していきます。基礎となるとこなので、ここはきっちりと覚えておいてほしいところです。入力値の受け取りは一見簡単そうに見えて意外な落とし穴が潜んでいたりします。

どうも!リョクちゃです。 さて、今回は以前に入力値の受け取り方を紹介したと思います。 (下の記事になります。) 入力値...

ちなみに前回の記事はこちら

Pythonでは行列の演算には主にNumpyといわれるライブラリを使うことで比較的簡単に行列が作成でき演算を行うことができます。今回、Numpyを使わずに行列を作成し、足し算をさせてみたので紹介しています。ライブラリを使う前にまずは理解することが大事です。



さまざまな入力の受け取り方

スポンサーリンク




シンプルに入力値を受け取る

最初に、シンプルに入力値を受け取るには

input()
を使います。
例えば、

と書くことで、変数aに入力した値を代入することができます。

以下のコードを例にコンソールウィンドウで表示させてみると、

input()で入力された値は、文字列型になるので、これは忘れずに覚えておきましょう。

input()で受け取った値を型変換して受け取る

input()で受け取った値は文字列型になると説明しました。

だけれど、文字列型以外で整数型や浮動小数点数型で取得したいといった場合もあります。

そんな時は、

整数型の場合 : int(input())
浮動小数点数型の場合 : float(input())

とすれば、文字列型で受け取った数字を型変換して受け取ることができます。

プログラムコンテストの練習問題での入力値の受け取りに使えたりします。

例として、以下のコードを走らせてみます。

実行すると、

変数aは、input()でそのまま受け取っています。

変数bは、int(input())として、input()で受け取った数字をint型に変換しています。

ここで変数bに”abc”と入力した場合、プログラムはエラーを起こします。

なぜならば、abcはint型に変換できないからです。

注意しながら使いましょう。



複数の変数で入力を受け取る

複数の変数に複数の入力を受け取りたい場合は、以下のようにして受け取ります。

これは与えられる入力が半角スペース区切りの時に有効です。

input()で受け取った値に対して、rstrip()関数で右端の空白を除去し、

split()関数で半角スペースを区切り文字として分割を行っています。

分割をした結果、左から順に分割した値をそれぞれa,b,cに代入しています。

この一連の流れをinput().rstrip().split()で行っています。

例えば、入力値がカンマ区切りで与えられる場合、以下の時ですね。

apple,bacon,chocolate

この場合は、

となります。

複数の変数で受け取るときに型変換したい

複数の変数で入力を受け取るときにあらかじめ、

型変換して受け取りたいときもあるかと思います。

こんなとき、どうしたらいいでしょう?

まず考えつくのが、

ではないでしょうか?

これだとエラーが出てしまいます。

input().rstrip().split()の戻り値が配列であり、

配列に対してintで型変換をしようとしているからエラーになってしまいます。

では、複数の変数に型変換した状態で入力を受け取りたいときはどうしたらよいでしょうか?

そんなときは、map()関数を使います。

map()関数は、引数として、map(“変換する型”, 変換したい配列)とすることで、

配列の中身を変換する型に合わせて変換をしてくれちゃいます。

なかなかに便利!

使い方は、

こうすることで、半角スペース区切りで受け取った複数の入力値をint型に変換して、

受け取ることができます。

入力された値が型変換できる値でないとエラーになります



まとめ

さまざまな入力の受け取り方について、

主に使うであろう方法をピックアップしてまとめてみました。

何かしらの参考になれば嬉しいです。

入力の受け取り方は、入力する側の視点に立って考えることで、よりユーザライクな

アプリケーション作りができるようになると思います。

また、プログラミングコンテストの問題においても活用できると思うので、

使ってもらえたらなと思います。

最後までお読みいただきありがとうございます

スポンサーリンク