キーボードから入力した値を使ってみよう

キーボードからの入力値を使用する

次回から制御文と呼ばれる処理について解説しますが、その前に準備としてキーボードから入力した値を変数に格納する方法について解説します。

まずは以下のPythonスクリプトを実行してみてください。

print("適当なキーを入力してください")
x = input('>> ')
print(x + "が入力されました。")

このPythonスクリプトを実行すると、コマンドライン上に「適当なキーを入力してください」というメッセージが表示され、その次に入力待ちの>>の記号が表示されます。次に値を入力してエンターキーを押してください。

例えば、abcを入力すると以下のように入力内容がメッセージに表示されます。

適当なキーを入力してください
>> abc
abcが入力されました。

変数xにキーボードから入力した値abcが格納されているわけです。

数値の入力

ここで注意が必要なのが、入力された値は「文字列である」という点です。入力した値を数値として計算したい場合は少し工夫が必要です。

具体的には数字の文字列から整数に変換させるint関数というものを使用することになります。

int("数字の文字列")

例えば、"100"という文字列は文字列なので計算できませんが、int関数で整数に変換することにより計算することが可能となります。

s = "100"
x = int(x)
y = x + 10
print(y)

実行すると、100 + 10の計算結果、110が表示されます。

以下のコードは2つの数字を入力させて、入力された数値を足し算し、結果を表示しています。

print("2数の和を求めます。")
print("1つめの数値をを入力してください")
x = input('>> ')
print("2つめの数値をを入力してください")
y = input('>> ')

x2 = int(x)
y2 = int(y)
z = x2 + y2
print("2つの数の和:", z)

文字列x, yを数値に変換したものをx2, y2に格納しています。
ただし、このコードは数字以外を入力するとエラーが発生します。対応方法については本講座では解説しませんが、興味がある方は入門編を学習してください。

演習

演習1

3つの数値を入力させ、和を表示するプログラムを作成してください。

回答例

print("3数の和を求めます。")
print("1つめの数値をを入力してください")
x = input('>> ')
print("2つめの数値をを入力してください")
y = input('>> ')
print("3つめの数値をを入力してください")
z = input('>> ')

x2 = int(x)
y2 = int(y)
z2 = int(z)

w = x2 + y2 + z2
print("3つの数の和:", w)