見出し画像

ひよひよpython問題集

こんばんは。ヴィーニです。まだまだひよっこであることを自覚してきています。今回は、pythonの問題についてレベル別に問題を作成していきたいと思っています。それぞれのレベルに応じていい感じの難易度設定にしていきます。また、解説も取り入れています。どうぞごゆっくりしていってください。ちなみに、テストで有料公開にしています。ご了承のほどお願いいたします。自作した問題は、自身で解説まで考えて書き起こしています。わかりにくい部分などがあれば、コメントにてよろしくお願いします。


レベル1 基礎編

レベル1 標準出力

「HelloPython」と出力するようなpythonのコード

レベル1 標準入力

a,bを入力値として値が渡されます。aとbを掛けた値を出力してください。
入力例
1 2

レベル1 for文処理

nというある値が渡されます。「pypy速いよ」をn回繰り返した値を出力してください。「pypy速いよ」の間には改行を入れ、最後は改行なしです。
入力例
4

レベル1 if文処理

textの変数名で文字列が渡されます。もしtextがPython3であった場合、「最新型だね!」と出力するコードを書いてください。
入力例
Python3

レベル1 標準出力 解答・解説

解答としては以下のコードになります。

print("HelloPython")

解説はprintで出力処理ができます。printの中に入れた文字が出力されます。よってその中に文字列を入れるための""を書き、指定されているHelloPythonを入れ、完成です。

レベル1 標準入力 解答・解説

解答としては以下のコードになります。

a,b=map(int,input().split())
print(a*b)

解説 まず入力例からaとbに分けてあげましょう。入力値を受け取るにはinput()で受け取ることができます。また、split()で分割することができます。ですがこれでは文字列のままで数字として処理ができません。そこで、mapという便利なものがあります。これは初めに渡した引数の型に変換してくれます。ここまでが入力処理です。
次に、計算処理、出力処理に移ります。計算処理はprintのかっこの中で行います。こうすることによって可読性が上がる気がします。問題文では、aとbをかけるとあるので、掛け算の記号を使います。pythonでは掛け算の記号は*になります。×ではありません。そして、最後にprintでしめて完成です。

レベル1 for文処理 解答・解説

解答としては以下のコードになります。

n=int(input())
for i in range(n):
    print("python速いよ")

解説 前の問題と同じく、まずは入力値を受け取ってあげましょう。input()で入力値を受け取り、int()で覆って型変換を行います。
今回の問題は繰り返し処理なのでforを使います。whileも使えるらしいですがここではfor文で解説します。pythonでは:が{}の代わりです。可読性の高さはこの仕様によるものです。for i in rangeのiは変数です。また、nは入力値です。意味としてはn回の処理をi=0から繰り返す感じです。
つまり、1回目:i=0  2回目 : i=1 //省略//  n回目 : i=n-1 となります。
for文の下のインデントと呼ばれる右に文字列が出ている部分全体を繰り返します。「python速いよ」の出力をn回繰り返す処理ができました。完成です。

レベル1 if文処理 解答・解説

解答としては以下のコードになります。

text=input()
if(text=="Python3"):
    print("最新型だね!")

解説 入力値を受け取ります。今回はtextなのでString型で受け取ってあげます。その時、もともとString型になるため、今回は変換作業はなしです。
次に、if文処理に移ってあげます。if文とは、とある条件の時に処理を実行するようなものです。問題文では、「Python3」の時に処理を実行するよう指定されてあります。ここで、Pythonのif文の使い方について触れます。Pythonでは、左と右の値を比較します。この時、「Python3」と等しいと比較したかったら「Python3」は文字列型なので==で比較していきます。=ではありません。textが「Python3」と等しいかどうかをここまでで比較できました。次に、等しい時に処理を実行するため、if文の直下にコードを書きます。ここでも:はお忘れなく。print文で「最新型だね!」と出力します。これで完成です。

レベル2 基本編

レベル2 配列処理

ここに出荷するためのダンボールがあります。7つの種類に分かれており、左の箱から「未完成」「作業中」「作業完了」「出荷準備」「エラー品」「重量未達」「空」となっています。初めにそれぞれの箱の中身の数が入力されるので、受け取りましょう。ここで、エラー品の箱を取り除くためにエラー品の数を出力する必要があるみたいです。作業員の代わりに助けてあげましょう。
入力例
1 2 3 31 43 54 827

レベル2 文字列結合

とあるヘビー村では、会話の語尾に「ヘビー」を付けるそうです。そんなヘビー村の住人になるために、入力された文字列の語尾に「ヘビー」を付けてあげましょう。
入力例
こんにちは

レベル2 配列処理 解答・解説

解答としては以下のコードになります。

array=list(map(int,input().split()))
print(array[4])

まず、プログラミングの配列の概念について触れておきましょう。
多くのプログラミング言語で、配列は0から始まります。pythonも例外ではなく、0始まりの配列です。ここでいう配列とは、問題文に挙げたダンボール箱のようなものです。配列を受け取るために、mapで区切って受け取ったものをlistという配列の概念に入れてあげましょう。これで入力値を配列で受け取ることができましたね。それでは次に移ります。今回、エラー品の箱は左から5番目となっていました。配列は0始まりなので、4のところにエラー品の箱があります。4を指定するには、配列名[指定したい場所]でできます。そのため、array[4]を出力して完成です。

レベル2 文字列結合 解答・解説

解答としては以下のコードになります。

text=input()
print(text+"ヘビー")

初めに、文字列を受け取りましょう。文字列は前述のとおり、input()で受け取ることができます。textという変数にinput()で入力された文字列を受け取り、2行目で処理を行います。文字列を結合する際に、pythonでは+の記号を用いることで結合することができます。今回は語尾、つまり後ろに結合するため、+の後ろに指定された文字列である「ヘビー」と入力します。これで完成です。

問題を終えて

いかがでしょうか。少しでもプログラミング上達の手助けになれば幸いです。まだまだひよっこエンジニアたまごですので、至らない点もあるかもしれません。これからも実力をつけて皆様に問題集を提供していきたいです。
この記事への要望、不明点はコメントに、評価はスキをお願いします。

この記事が気に入ったらサポートをしてみませんか?