Python3:標準入力覚書
最近、本格的にプログラミング言語「Python3」の勉強をしています。
標準入力に関する覚書です。
※標準入力というのは、「CUI環境でのキーボードからの入力」と定義して話を進めます。
通常、input()関数で入力を受け付けます。
これは一行ごと、”改行”で入力が確定されます。
これで取り込まれるのは、「文字列(string)」となります。
ですから入力値を計算に使おうとする場合、int()関数などで”数字”に変換しなければなりません。
EX.
入力側:
1
2
プログラム側:
a = input()
b = input()
ans = int(a) + int(b)
print(ans)
一行ごとに、1変数ならばこれでいいのですが、一行で複数の値を代入したいときどうすればいいのか?
今回ここが引っかかってしましました。
いろいろ調べた結果、こういう場合、「.rstrip()」メソッド、「.split(" ")」メソッドを使えばよいようです。
・「.rstrip()」メソッド:文字列の末尾部分を除去したコピーを返します。
ここでは”改行”を除去するために使ってます。
・「.split(" ")」メソッド:文字列を sep をデリミタ文字列として区切った単語のリストを返します。
ここでは”" "(半角ブランク)”を、デリミタとしてます。
もちろん”,(カンマ)”やほかの文字を使うこともできます。
※詳しくは「Pythonドキュメント(https://docs.python.org/ja/3/)」をご参照ください。
EX.
入力側:
1 2 3
プログラム側:
# coding: utf-8
input_line = input().rstrip().split(" ")
print(input_line)
出力:
['1', '2', '3']
このように出力されます。
これを計算するならば、
# coding: utf-8
input_line = input().rstrip().split(" ")
ans = 0
for i in range(len(input_line)):
ans += int(input_line[i])
i += 1
print(ans)
出力:
6
こんな風に、プログラムを書くことが出来ます。
以上