第151回【Python】文字列の1文字目、あいだの整数、文字列を切り取る

現在取り組んでいるのは、paiza ラーニング問題集「B ランクレベルアップメニュー」になります。

はじめに

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

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

面倒なことをするのが人生だ、というのが LeoSaki(旦那)の考え方。あくまでも考え方であって、座右の銘のような高尚なものではありません。勉強だって、どんなに好きだと言っても、面倒なことに変わりないです。それをするのが人生だから仕方ないや、くらいの軽い気持ちです。

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

文字列の1文字目 (paizaランク D 相当)

文字列が入力されるので、1文字目を出力してください。

s

期待する出力

文字列 s の1文字目を出力してください。


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

1 ≦ (文字列 s の長さ) ≦ 30
s は半角英数字で構成された文字列です。


入力例

abc

出力例

a

1 文字目を取得するのにどんな意味があるのだろう。いや、何かで使いどころはあるのだろうけれど。

Python
s = input()
print(s[0])
VBA
Sub substring_3()

    s = Cells(1, 1)
    Debug.Print Left(s, 1)
    
End Sub

VBA では関数を利用して 1 文字目を取得。

あいだの整数 (paizaランク D 相当)

スペース区切りで2つの整数が入力されるので、その区間の整数を全て表示してください。

a b

期待する出力

a 以上 b 以下の間の全ての整数を、改行区切りで表示してください。


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

 0 ≦ a ≦ b ≦ 100


入力例

0 10

出力例

0
1
2
3
4
5
6
7
8
9
10

「あいだ」の整数らしいけれど、「以上」と「以下」なんですね。「あいだ」って「より大きく」と「未満」だと思ってました。

Python
a,b = map(int,input().split())
for i in range(a,b+1):
    print(i)
VBA
Sub substring_4()

    AB = Split(Cells(1, 1), " ")
    a = Val(AB(0))
    b = Val(AB(1))
    For i = 1 To b
        Debug.Print i
    Next
    
End Sub

文字列を切り取る (paizaランク D 相当)

スペース区切りの2つの整数と、文字列が入力されるので、2つの整数の範囲の部分文字列を出力してください。

a b
s

期待する出力

s の文字列を a 文字目から b 文字目の範囲で切り取った文字列を出力してください。


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

 1 ≦ a ≦ b ≦ (文字列 s の長さ) ≦ 100
s は半角英数字で構成された文字列です。


入力例

2 6
Welcome to the paiza! I`m studying ruby!

出力例

elcom

インデックスの取り方にさえ注意すれば難しくはない。言語によって異なるので、その点、間違わないようにしないと。

Python
a,b = map(int,input().split())
s = input()
print(s[a-1:b])
VBA
Sub substring_9()

    AB = Split(Cells(1, 1), " ")
    a = Val(AB(0))
    b = Val(AB(1))
    s = Cells(2, 1)
    Debug.Print Mid(s, a, b - a + 1)
    
End Sub

最後に

文字列操作は、Python と VBA で大きく異なる。文字列 1 文字 1 文字を配列として受けることが出来る Python と違って、VBA は文字列は文字列だからなぁ。※ Python も配列として受けることが出来るだけで、そのまま操作できるわけじゃない。

それにしても、「入力例」に選んだのは、なぜ「Ruby!」だったのか。霧島京子さんの陰謀だったのか。六村リオさんだったら「Python!」だったかもしれないのか。

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

Python学習,Python,paiza

Posted by LeoSaki