Home » 電子書籍 » VBAユーザーのためのPython超入門 » Pythonのinput関数の戻り値は文字列

Pythonのinput関数についてご紹介しました。

KDP(Kindle Diect Publishing)による拙著『VBAユーザーのためのPython超入門』をお読みいただいた方の中には、input関数を使ったスクリプトを作成して、エラーが発生してしまう方がいらっしゃるかもしれません。

input関数の戻り値を使おうとしてエラーになるケース

例えば、input関数で入力された数値を使った計算を行う、以下のようなスクリプトを作ってみたものの、エラーになってしまった方がいるような気がしています。

num = input('2乗を計算したい整数を入力してください>>')
print(num ** 2)

上記のコードを実行すると、
「2乗を計算したい整数を入力してください>>」
とメッセージがShellウィンドウに表示され、何らかの数値を入力して実行すると、

TypeError: unsupported operand type(s) for ** or pow(): 'str' and 'int'

となってしまうのです。

input関数の戻り値はstr型

これは拙著のchapter 5でも触れている、データ型の厳密さに関係するエラーです。

Pythonのinput関数の戻り値は文字列(str型)で、文字列を使って、べき乗などの数値演算はできないためです。数値演算を行うには型変換が必要です。

input関数の戻り値を数値演算に使うには型変換が必要

以下のように、int関数を使って型変換してやれば、エラーは発生しなくなります。

num = int(input('2乗を計算したい整数を入力してください>>'))
print(num ** 2)

先ほどのエラーとなるコードでは、
  num = input('2乗を計算したい整数を入力してください>>')
となっていた部分が、
  num = int(input('2乗を計算したい整数を入力してください>>'))
になっています。

input関数の戻り値がint関数の引数に指定されており、数字(文字列)が整数に変換されます。

[スポンサードリンク]

Home » 電子書籍 » VBAユーザーのためのPython超入門 » Pythonのinput関数の戻り値は文字列

「VBAユーザーのためのPython超入門」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.