標準入力とは?
生徒
教授?
Pythonの標準入力って何ですか?
教授
Pythonの標準入力とは、プログラムと実行環境との間に用意されている標準のデータの受け渡し口のことで、キーボードや入力エリアからの数値や文字列を受け取ることができます。
Pythonではinput関数を使って標準入力を受け取ることができますよ?
基本的な入力 (1区切りの文字列の入力)
教授
基本的な入力は、次のようになりますよ?
# input関数で標準入力を受け取る
s = input()
# 受け取った文字列を出力する
print(s)
生徒
割とシンプルなんですね。
行の配列 (横一列の複数の入力)
教授
行の配列は、次のようになりますよ?
# input関数で標準入力を受け取り、split関数で空白で区切ってリストにする
a = input().split()
# 受け取ったリストを出力する
print(a)
生徒
split関数というのが出てきましたね。
教授
split(“,”) というようにすると、「,」(カンマ)区切りになりますよ?
列の配列 (縦一列の複数の入力)
教授
列の配列は、次のようになりますよ?
# 入力される行数をinput関数で受け取る
n = int(input())
# 空のリストを作る
b = []
# for文でn回繰り返す
for i in range(n):
# input関数で標準入力を受け取り、リストに追加する
b.append(input())
# 受け取ったリストを出力する
print(b)
生徒
for文が出てきましたね。
入力される行数が分からない時は、どうなりますか?
列の配列 (縦一列の入力行数不明)
教授
入力される行数が分からない場合は、次のようになりますよ?
# 空のリストを作る
c = []
# 無限ループを開始する
while True:
# input関数で標準入力を受け取る
s = input()
# 入力が空白でない場合
if s != "":
# リストに追加する
c.append(s)
# 入力が空白の場合
else:
# ループを抜ける
break
# 受け取ったリストを出力する
print(c)
生徒
input関数で標準入力を受け取り、空白でない場合はリストに追加し、空白の場合はループを抜けるという処理を行っているのですね。
教授
ええ、そんな感じですよ?