文字列(string)のスライス操作

ソースコード
#coding:utf-8
#文字列要素のアクセス
import time
import os

os.system('clear')
#文字列要素(配列array)のアクセス
a="いくたびも 雪の深さを 尋ねけり"
print(a)

#文字列を文字列の要素(element)毎に表示する
#初期化
str1="" 
for x in a:
    #文字列の結合,文字列の足しさん
    str1 += x
    #\rは印刷したあとその行の先頭に戻る意味示す
    #先に書いたものを新しい文字列に再表示された
    print(str1)
    #タイマー
    time.sleep(0.3)
print('\n')

for x in a:
    #文字列の結合,文字列の足しさん
    str1 += x
    #\rは印刷したあとその行の先頭に戻る意味示す
    #先に書いたものを新しい文字列に再表示された
    print("\r"+str1,end="")
    #タイマー
    time.sleep(0.3)
print('\n')

#array index 配列インデックス 添え字毎に文字表示する
str1 = ""
#i=0~15 表示するのがa[0]からa[15]まで、左から右へ
#range(16)->range(0,16,1)
for i in range(16):
    str1 += a[i]
    print("\r"+str1,end="")
    time.sleep(0.5)

print('\n')

#0番から7番まで8文字を表示する
#0~7

print(a[0:8])
#0~7
print(a[:8])
#5~さいごまで
print(a[4:])


print(f'文字列の長さ={len(a)}\n 0番の文字は{a[0]}\n')
print(f'3番の文字は{a[3]} 4番目の文字は{a[3]}')

input("次へ")
#右(後ろ)から左(前)へインデックスを付ける場合
print(f'右から1番目の文字は{a[-1]} 後ろから3番目の文字は{a[-3]}')

#文字列の右(後ろ)から左(前)へ順に表示する
str1 = ""
#0は含まれない、第1文字の添え字は-1,文字数は16,rangeの終了値は-17,増分は-1となる
#i=-1~-17 表示するのがa[-1]からa[-17]まで、右から左へ
for i in range(-1,-17,-1):
    str1 += a[i]
    print("\r"+str1,end="")
    time.sleep(0.5)

print('\n')


import os

os.system("clear")
print("\t夏目漱石の『草枕』冒頭部分\n\n")
a = "For me becoming isn t about arriving somewhere or achieving a certain aim. I see it instead as forward motion, a means of evolving, a way to reach continuously toward a better self. The journey doesn’t end.\n "
print(a)
b = "For me, becoming isn’t about arriving somewhere or achieving a certain aim. I see it instead as forward motion, a means of evolving, a way to reach continuously toward a better self. The journey doesn’t end."

K = 40
for i in range(0,len(b)-K,1):
  print("\r"+b[i:i+K],end="")
  time.sleep(0.5)

for j in range(i,len(b),1):
  
  print("\r"+b[j:-1]+"  ",end="")
  time.sleep(0.5)


print("\r"+b)
実行結果