【Python学習ログ#2】input関数の基本と数値変換でつまずいた話

input関数で入力を受け取ってみた

Pythonを学び始めて最初に出てきたのが input() 関数 でした。

この関数を使うと、

プログラム実行中にユーザーから入力を受け取り、

その値を変数に格納できます。

まずはシンプルに書いてみました。

この課題はChatGPTに依頼して出してもらいました。

(今後、毎回このように、Python学習し終えたところまでの情報を共有し、課題を出してもらいます。)

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

これが input関数と呼ばれるもので、

私もChatGPTにこの課題を出してもらうまでは、その存在すら知りませんでした💦

上記のプログラムを実行すると、

”名前を入力してください”という入力する箇所が出るので、

そこに自分の名前を入力してみました。

ご覧の通り、「シン」と名前を入力し、

次の行に名前がそのまま出てきました。

(※添付の画像はGoogle Colaboratoryという、ブラウザ上でプログラムを実行できるアプリです。

Googleアカウントを保有していれば、Googleドライブから無料で実行できるので便利です。)

「おお、動いた!✨」と感動したのも束の間、すぐにつまずくことになります。

文字列と数値を結合しようとしてエラーに。。

次に課題に沿って、

年齢を入力し、「私は◯◯、◯歳です」と表示するコードを書いてみました。

ところが、このコードをGoogle Colab上で実行すると、こんなエラーが出ました。

TypeError: can only concatenate str (not “int") to str

原因は「型の違い」

このエラーは「文字列(str型)と数値(int型)を直接つなげられない」という意味です。

name文字列

age数値に変換済み(int型)

つまり、、

'私は' + name + '、' + age + '歳です。' でエラーになる、というわけです。

解決策はstr()で文字列に戻す

このエラーは、数値を文字列に変換してから結合すれば解決できます。

print('私は’ + name + '、’ + str(age) + '歳です。’)

👆このように、数値を文字列の型、strに戻してあげることで、

文章内に”文字”として合致することになります。

まとめ:input関数の基本と数値変換

ここまで学習内容をまとめます。

文字列(str型)数値(int型)はそのまま結合できない

・必要に応じて str() で文字列に変換する

int()str() を使い分けることがPython学習の最初の壁

この調子で、Python学習を進めていきます✊✨

Python学習に興味のある方、Pythonを副業に活かしてみたい方、

一緒に学んでいきましょう!

➡️『Python学習ログ』ページ

Python学習ログ

Posted by shin