• 締切済み

Python inputについて

次の条件の時、inputで取得する方法を教えてください。(リストに格納する) a b (2つ) ←これはinput().split()? a b c ... (複数) a,b,c,...(コンマで区切る) a b c ... (複数行) a b c ... d e f ... g h i ... ... (複数の複数行) また、a b c (入力が3つと決まっている時) a b c ... (入力が3つ以上の時) の2つの構文はどのように違いますか? いろいろありますが、わかる方は教えてください!

みんなの回答

  • notnot
  • ベストアンサー率47% (4900/10358)
回答No.2

input() 一つで1行の入力ですので、入力データの行数だけ input() を実行します。 区切り文字が , (カンマ)なら、input().split(",") とカンマを指定します。 カンマで区切るだけなので、要素が幾つでも同じです。 普通は、x = input().split(",") のように書いて、それぞれ、x[0]、x[1]、x[2]、、、、に入ります。個数は len(x) で分かります。 個数が3つと決まっている場合は、 x,y,z = input().split(",") のように x、y、z に入れることも出来ます。個数が決まってないとこういう書き方は出来ませんね。 何も書かない split() だと、空白やタブなどの空白文字で区切ります。複数の空白も1つの区切りなので、split(" ") とは違います。

回答No.1

a b (2つ) => input().split(' ') a b c ... (複数) => input().split(' ') a,b,c,...(コンマで区切る) => input().split(',') a b c ... (複数行) => これは基本的には無理。Enter/Returnがinputの終了命令だから。 a b c ... d e f ... g h i ... ... (複数の複数行) => 上記と同様な理由で基本的には無理。 また、a b c (入力が3つと決まっている時) a b c ... (入力が3つ以上の時) の2つの構文はどのように違いますか? => 同じ あと、「構文」って用法を間違えている。構文は通常ifとかwhileとかを指す。 入力「関数」の使い方、に対して「構文」とは言わない。 なお、Pythonの文字列のsplitメソッドは簡易に使えるけど、もっと複雑な「分割をしたい」場合には非力で向かない。 本格的な事をやりたいのなら正規表現を学ぶべき。 正規表現 HOWTO: https://docs.python.org/ja/3/howto/regex.html#using-regular-expressions ちなみに、正直な事を言うと、input関数の使用法で、そこまで凝らないとならないケースはほぼ無い。

関連するQ&A