第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!」だったかもしれないのか。
引き続き、よろしくお願いいたします!
ディスカッション
コメント一覧
まだ、コメントがありません