【Python3】入力した数字を元に計算させる方法1【print / input】

何となくPythonの勉強を始めた。プログラミング自体ほぼ初心者なのでわからないことが多く、あちこちのサイトを見ながら試行錯誤している。
その内容を備忘録として残しておく。




使用する関数

・print()

丸括弧()内に入れた数値や文字列を表示する。
文字列を表示したい場合は、文字列をシングルクォーテーション'もしくはダブルクォーテーション"で囲まなければならない。
カンマ,区切りで複数並べることも可能。なお、数式を入れると答えが表示される。

<例>

print(123)
print('テスト')
print('1+2の答えは',1+2,'です。')

<実行結果>

・input()

キーボードからの入力を受け付ける(キー入力待ちにする)。
丸括弧()内に数値や文字列を入れると、それを表示してからキー入力待ちになる。
こちらも文字列を表示したい場合は、文字列をシングルクォーテーション'もしくはダブルクォーテーション"で囲まなければならない。

<例>

a = input()
b = input('テキストを入力してください。:')
print(a,b)

※a = input() は、「入力された文字をaに代入する」という意味。

<実行結果>

赤い四角で囲まれているのが入力した文字

計算を試してみる

上記print()とinput()を使えば、入力した数値を元に計算できそうなので試してみる。

<プログラム>

a = input('1つ目の数字を入力してください。:')
b = input('2つ目の数字を入力してください。:')
print(a + b)
print(a * b)

<実行結果>

見てわかるように、意図した結果にはなっていない。
print(a + b)は5ではなく23、
print(a * b)は6ではなく、エラーメッセージが表示されている。
エラーメッセージに表示されているように、str=文字列型で計算しようとしたのが原因。
要はaに代入した2と、bに代入した3が数値ではなく文字列として認識されているため、数値として認識させる必要がある。

その方法は次の記事

前回はprint()とinput()を使用し、入力した数字を元に計算させようとした。しかし入力した数字が数値ではなく文字列として認識されてい...