文字列も順番に読める

文字列は文字が並んだ値です。リストと同じように添字や for を使えますが、その場で1文字を変更することはできません。

言語:Python / 計算量:走査 O(N)、切り出し O(切り出し長)

前提:配列と添字を混同しない

考え方

  1. len(s) で文字数を数えます。
  2. s[l:r] は l 番目から r の直前まで。
  3. "".join(文字のリスト) で文字列に戻します。

具体例

s="atcoder" なら s[0:2] は "at"。s[::-1] は逆順です。

実装

s = input()
count = 0
for c in s:
    if c == "a":
        count += 1
print(count)

注意する条件

文字列の繰り返し連結は遅くなることがあります。多数の断片はリストに追加して join します。

確認問題

len("atcoder") は?

解答と理由

7

a,t,c,o,d,e,r の7文字です。

実装課題

英小文字の文字列 S (1 ≤ |S| ≤ 100) を読み、回文なら Yes、それ以外は No。

入力:
level
出力:
Yes
参考実装
s = input()
print("Yes" if s == s[::-1] else "No")

読了の記録・下書き・メモへ