第92回【Python】整数と文字列、部分文字列
現在取り組んでいるのは、paiza ラーニング問題集「C ランクレベルアップメニュー」になります。
はじめに
猫とキャンプと野球観戦と AWS が大好きな旦那、LeoSaki です。モフモフしたい。
Python をゼロから勉強してみよう、のコーナー 92 回目です。
前回の苗字のお話の続き。母の旧姓は、全国に 100 人ちょっとらしいので、いまだに出会ったことがない。ちなみに、LunaSaki(嫁)の旧姓は 160,000 人以上はいらっしゃるらしい。
それでは、今日も頑張ってみようと思います。
整数と文字列
整数 n と、 n 個の整数 a_1, …, a_n が改行区切りで与えられるので、各 a_i (1 ≤ i ≤ n) の文字列としての長さを改行区切りで出力してください。
n
a_1
...
a_n
すべてのテストケースにおいて、以下の条件をみたします。
・1 ≤ n ≤ 50
・各 a_i (1 ≤ i ≤ n) について、 0 ≤ a_i ≤ 10000
入力例
2
10
100
出力例
2
3
桁数を求めるためには、Python での文字、数値の扱いを理解していないといけない。このブログ「月とライオン」の検索履歴にも「各桁の和」というのが多く見られる。
Python
N = int(input())
for _ in range(N):
a = input()
print(len(a))
len 関数は文字列の長さを返すものなので、a = int(input()) とすると、「長さ」は別の方法で求める必要が出てしまう。
VBA
Dim A As String
N = Cells(1, 1)
For i = 1 To N
A = Cells(i + 1, 1)
Debug.Print Len(A)
Next
A という変数を string 型と指定してあげておくと、セルから入力された値の「長さ」を求められる。数値型にしてしまうと、異なる値(容れ物の大きさ)が出力される(integer 型だと 2、long 型だと 4)。
部分文字列
文字 a と文字列 S が与えられるので、 S に a が含まれているかどうか判定し、含まれている場合には “YES” を、そうでない場合には “NO” を出力してください。
a
S
すべてのテストケースにおいて、以下の条件をみたします。
・a, S はそれぞれ大文字または小文字のアルファベットからなる文字、文字列
・S の長さは 1 以上 10 以下
入力例
Z
Kirishima
出力例
NO
含まれているかどうか、を Python で求めるのは簡単。VBA でもよくやるやつ。
Python
a = input()
S = input()
if a in S:
print('Yes')
else:
print('No')
len 関数は文字列の長さを返すものなので、a = int(input()) とすると、「長さ」は別の方法で求める必要が出てしまう。
VBA
A = Cells(1, 1)
S = Cells(2, 1)
If InStr(S, A) > 0 Then
Debug.Print "Yes"
Else
Debug.Print "No"
End If
最後に
Python の in や、VBA の InStr は、ホントによく使うイメージがある。使いこなせるようになっておきたい。
まぁ、含まれている場合にどうするか、含まれていない場合にどうするか、であって、単独で使うことはなかなかない気がするけれど。
引き続き、よろしくお願いいたします!
ディスカッション
コメント一覧
まだ、コメントがありません