第41回【Python】文字列の配列の入力 1、文字列の配列の入力 2、文字列の配列の入力 3

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

はじめに

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

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

コーヒーが好きです。キャンプ場にコーヒー豆を持って行って、挽きたてを入れて飲みます。会社でもいつもコーヒーを飲んでいます。何やら、マグカップ 237 ml で約 3 杯までが成人男性のリミットのようで、それを知ってからは飲む量を減らしました。結論として、LeoSaki(旦那)はリミット以上の量を飲んでいたらしいです。

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

文字列の配列の入力 1

複数の文字列があります。すべての文字列を改行区切りで出力してください。

eight
one
three
paiza
pa13
813

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

前回と同じく、明確に今からやらなければならない方法が指示されているので、その通りにやってみる。

Python
L = ["eight", "one", "three", "paiza", "pa13", "813"]
print(len(L))
VBA
L = Array("eight", "one", "three", "paiza", "pa13", "813")
For Each li In L
    Debug.Print li
Next

文字列の配列の入力 2

10 個の文字列 s_1, s_2, …, s_10 が半角スペース区切りで与えられます。
すべての文字列を改行区切りで出力してください。


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

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


a b c d e f g h i j

Python らしく簡潔に書いてみる。

Python
S = input().split()
for s in S:
    print(s)
VBA
S = Split(Cells(1, 1), " ")
For Each v In S
    Debug.Print v
Next

文字列の配列の入力 3

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


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

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


5
a b c d e

Python らしく簡潔に書いてみる。N は使わなくていいか・・・。ダメ?

Python
N = int(input())
S = input().split()
for s in S:
    print(s)
VBA
N = Cells(1, 1)
S = Split(Cells(2, 1), " ")
For Each v In S
    Debug.Print v
Next

最後に

このレベルであれば、Python も VBA もそんなに変わらない。というか、与えられたものはちゃんと使うべきか。しかし、配列の要素数を渡されても、そんなの関係なく取得できてしまう場合はどうするのが正しいのだろう。

やり方を知っておく、というのはとても有効なので、一度は与えられたものを全部利用してコードを書いてみるのはいいかもしれない、と思った。

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

PythonPython,paiza,学習

Posted by LeoSaki