PaizaでPython3ランクDに昇進!鍵は「 標準入力 」にあり 初心者向け備忘録

長いことpaizaのオンライン口座を受講していましたが、先日ついにランクDに昇格しました!paizaで学習を進めていく中で、一番最初のランクアップ問題でつまずいた点は「 標準入力 」でした。今回はその壁を超えるために自分なりに整理した点をまとめました。

人工知能やPaizaでの学習に興味がある方は合わせて以下も参考になるかと思います。

ランクD への鍵は「 標準入力 」

「 標準入力 」はPaizaラーニングの中でも学習でき、さらにPaizaのスキルチェック中の「値取得・出力サンプルコード」から例を見れるのですが難しすぎて私にはちんぷんかんぷんでした(単純に勉強不足です)。

ここでは、標準入力を形式毎にまとめました。

Inputの値が1つの場合

n = input()
n : 任意の変数

Inputの値が複数の場合

計算のためのinputに複数の値が指定されることも多くあります。さらに、複数のinputが「一行」か「複数行」の形なのかによって入力コードも異なります

「一行」に複数のinputがある場合

「一行」に複数のinputがある場合とは、例えば以下のようにカンマで区切られた複数の整数が続く場合です。

「1. 2. 3. 4」

この状態では、先述した input()入力を用いても[1, 2, 3, 4]のようにグループとして認識されてしまうので、一つ一つの数値を取り出すには以下の入力が必要になります。

n = input().split() #n_1 n_2 と整数を分割して取得し、nに値を入れる

print(n) #出力:['s_1', 's_2']

print(s[0]) #出力:s_1

print(s[1]) #出力:s_2

「複数行」にinputがある場合

「複数行」にinputがある場合とは、例えば以下のように改行で区切られた複数の整数が続く場合です。

「1」

「2」

「3」

この状態では、先述した input()入力を用いても第一段落目の[1]しか認識されないので、一つ一つの数値を取り出すには以下の入力が必要になります。

n = [input() for i in range(3)]
print(n) #出力['n_1', 'n_2', 'n_3']

入力値を整数として取得する int()関数

もう一つDランク問題を解くうえで重要なポイントは入力値を「整数」として取得することです。今まで紹介してきた標準入力では、入力値をあくまで”テキスト”として取得しています。

PaizaランクD問題で頻出する、四則演算(+, -, *, /)の例として、

「input()の取得値に10足した値を出力する」

を考えた場合に、単純に以下の入力ではエラーが出てしまいます。

n = input()

s = n + 10   #input()の取得値に10足した値

print (s)    #計算結果の表示

四則演算を行うためには、int()関数でinput()を整数として取得する必要がありますので正しくは以下のようになります。

n = int(input())   #input()で取得したデータを整数として処理

s = n + 10   #input()の取得値に10足した値

print (s)    #計算結果の表示

これで計算が正しく行えるようになりました。これは、Inputの値が複数の場合にも共通です。

標準入力さえ出来れば、あとは計算式組み立て

標準入力で文字を指定することが出来れば、あとは問題文に従ってコードを書き上げるのみです。

ランクDの問題には、「for」「if」などの処理が求められることは希であり、殆んどの問題は小中学校の算数、数学の知識があれば解ける問題が出題されております。がんばってください!

最後に

paizaで学習を進めていく中で、一番最初のランクアップ問題でつまずいた「標準入力」を備忘録として記入しました。長い事とどまっていたランクEからDに昇進することでモチベーションも上がり、その後の学習ペース維持にも役だちぃました。

この備忘録が同じようにpaizaでpythonを学ぶ人の支えになればと思います。

Paizaの他にもプログラミング教材を探しているかたがございましたら以下のCODE COMBATも面白くおすすめです。

さらに プログラミング / 人工知能(AI) / 機械学習 について興味がある人は下のまとめページも読んでみてください!

スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

%d人のブロガーが「いいね」をつけました。