第42回【Python】i 番目の出力 1、i 番目の出力 2

現在取り組んでいるのは、paiza ラーニング問題集「配列メニュー」になります。

はじめに

猫とキャンプと野球観戦と AWS が大好きな旦那、LeoSaki です。モフモフしたい。

Python をゼロから勉強してみよう、のコーナー 42 回目です。

水曜どうでしょう Premier が CS で放送開始されてから、放送分は全部録画して繰り返し見ています。このシーンなかった、とか、本日の日記に記載があった件はこれだったのか、とか、再編集ならではの楽しみ方があって最高に面白いです。

それでは、今日も頑張ってみようと思います。

i 番目の出力 1

整数 N が与えられます。
以下の文字列のうち、N 番目の文字列を出力してください。

good
morning
paiza
813
pa13

この問題は配列を用いる練習問題です。
これらの文字列を配列に格納し、その配列から i 番目の要素を出力する方法を考えてみましょう。


すべてのテストケースにおいて、以下の条件をみたします。

・* N は 1 以上 5 以下の整数


1

明確に今からやらなければならない方法が指示されているので、その通りにやってみる。インデックスが 0 から始まることだけ注意する。

Python
N = int(input())
L = ["good", "morning", "paiza", "813", "pa13"]
print(L[N - 1])
VBA
N = Cells(1, 1)
L = Array("good", "morning", "paiza", "813", "pa13")
Debug.Print L(N - 1)

i 番目の出力 2

1 行目に整数 N が与えられます。
2 行目に 5 個の文字列 s_1, s_2, …, s_5 が半角スペース区切りで与えられます。
N 番目の文字列 s_N を出力してください。


すべてのテストケースにおいて、以下の条件をみたします。

・* N は 1 以上 5 以下の整数
・* s_i (1 ≤ i ≤ 5) は数字または大文字・小文字のアルファベットからなる長さ 1 以上 10 以下の文字列


3
a b c d e

インデックスが 0 から始まることだけ注意すれば、こちらの簡単。

Python
N = int(input())
S = input().split()
print(S[N-1])
VBA
N = Cells(1, 1)
S = Split(Cells(2, 1), " ")
Debug.Print S(N - 1)

最後に

最近、試しに openpyxl を使ってみたのですが、VBA の基礎があるととても理解が早いように感じました。マクロ有効ブック(.xlsm)としていると問題が発生することが度々あるので、これも一つの手段かもしれないと思っています。

いろいろと効率化している .xlsm ブックに、いちいち .xlsx 変換用の VBA を書いておいて、送る前に .xlsx に変換する、なんて手順が面倒だったりしますし。

引き続き、よろしくお願いいたします!

Pythonpaiza,学習,Python

Posted by LeoSaki