Pythonでの競技プログラミング入力方法まとめ

標準入力

Pythonの勉強で競技プログラミングを行うのは、効率よく言語習得をする一つの方法であります。

今回はそんなPythonでの標準入力要綱をまとめてみました。

スペースで区切られた文字列を受け取る時(受け取り文字数無制限)

例:か つ お

これにstrip関数を付けるとリスト化できます。

ちなみに意味はinputで読み込んだ一行データを、rstripで受け取って、行末の改行を削除して、それをsplit関数で受け取って引数で指定したカンマで分割してリストとして代入しています。

スペースで区切られた数値を受け取る時(受け取り数値無制限)

例:3 4 18

リストで収めてみました。

1列+スペースがあれば限りなくnumsに代入できます。

split()で受け取るので、intではなくstrになります。

試しにprint(type(nums))と実験するのもいいでしょう。

数字で受け取りたい場合は

もしくは、文字数が決められていない場合は下記のように扱うのも便利です。

こうなります。

さらに各々を指定するとしたら

となります。

こちらでも使えます

複数業の場合

1段目に下段の文字段数指定、2段目以降に文字列

print時にリスト化したければ

にすれば良いのです。stripとsplit違いです。

これがリスト内包表記だと↓

1段目に下段の文字段数指定、2段目以降に数字列

複数列の場合

1段目に下段の文字段数指定、2段目に文字数指定

単語n個を配列に格納する場合

例:brazil taiwan spain

通常入力

実行結果は

内包表記の場合

実行結果は

複数行・複数列の整数値を受け取る

やや難易度が高くなりますが

例:

nは与えらえる2つの整数の行数でx_nとy_nはそれぞれ整数です。

が仮に

3

4 5

3 1

2 10

としたら結果は

多次元配列を上手に受け取る

例えば、生徒が3人いて5教科のテストの点数を編集する場合

例)
3
kenta 90 100 89 70 88
daisuke 77 86 89 71 90
jiro 90 98 87 81 93

実行結果は

この通り、0番目の名前を省略して受け取ることができます。今回の場合、0番目がstrで1番目以降をintにしたいのに、できない時はこのnumpy関数を使用します。

ちなみに、print(type(score))とすると

<class ‘numpy.ndarray’>

とprintされます。

スクールを利用して本格的に学ぶ

いかがでしたでしょうか?

10人中9人が挫折すると言われるプログラミングを、ヒロヤンも実はプログラミングスクールで学習をしてきたからで、結果、今はPythonエンジニアとして働いています。

挫折率が高いプログラミングこそお金を払ってメンターを付けて、道を見失わないように環境を構築する必要があるのではないでしょうか。

これはダイエットで自分一人では痩せられないけど、トレーナーを付けて否が応でもせざるを得ない環境を作ると一緒ですね。

ヒロヤンもプログラミング勉強開始直後はあれこれ悩みましたが、悩むよりも手っ取り早くスクールに登録した方が最短ルートで勉強できるのではないかと考え、結果挫折せずに今に至っています。

今なら無料でキャリアカウンセリングを行っているTechAcademyのようなプログラミングスクールもありますのでこれを機会に是非カウンセリングだけでも受けてみてはいかがでしょうか?

TechAcademyで無料のカウンセリング

上記リンク先から無料相談ができます。

またこちら(↓)ではPython専用のプログラミングスクールをまとめ紹介しています。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です