▼考え方
最初の文字を変数iで指定し、最後の文字を変数jで指定しました。最初の文字から最後の文字まで連続して取り出すため、スライス操作を使用しました。
▼コード
########## 処理0(準備) インプット ###########
S = input()
########## 処理1 文字列Sから疑似数字を取り出す処理 ###########
for i in range(len(S)):
for j in range(i+1,len(S)+1):
# tmp_gizisuzi:文字列Sから取り出した文字列を格納する変数
tmp_gizisuzi = S[i:j]
if tmp_gizisuzi[0].isdigit() == True and tmp_gizisuzi[-1].isdigit() == True:
print(tmp_gizisuzi)
▼参考
変数i,jを用いて文字列Sをスライス操作すると、以下のようになります。iとjが同じ値だと、なにも表示されないことに注意が必要です。
S = 81zaaz18
i: 0 j: 1 S[i:j]: 8
i: 0 j: 2 S[i:j]: 81
i: 0 j: 3 S[i:j]: 81z
i: 0 j: 4 S[i:j]: 81za
i: 0 j: 5 S[i:j]: 81zaa
i: 0 j: 6 S[i:j]: 81zaaz
i: 0 j: 7 S[i:j]: 81zaaz1
i: 0 j: 8 S[i:j]: 81zaaz18
----
i: 1 j: 2 S[i:j]: 1
i: 1 j: 3 S[i:j]: 1z
i: 1 j: 4 S[i:j]: 1za
i: 1 j: 5 S[i:j]: 1zaa
i: 1 j: 6 S[i:j]: 1zaaz
i: 1 j: 7 S[i:j]: 1zaaz1
i: 1 j: 8 S[i:j]: 1zaaz18
----
i: 2 j: 3 S[i:j]: z
i: 2 j: 4 S[i:j]: za
i: 2 j: 5 S[i:j]: zaa
i: 2 j: 6 S[i:j]: zaaz
i: 2 j: 7 S[i:j]: zaaz1
i: 2 j: 8 S[i:j]: zaaz18
----
i: 3 j: 4 S[i:j]: a
i: 3 j: 5 S[i:j]: aa
i: 3 j: 6 S[i:j]: aaz
i: 3 j: 7 S[i:j]: aaz1
i: 3 j: 8 S[i:j]: aaz18
----
i: 4 j: 5 S[i:j]: a
i: 4 j: 6 S[i:j]: az
i: 4 j: 7 S[i:j]: az1
i: 4 j: 8 S[i:j]: az18
----
i: 5 j: 6 S[i:j]: z
i: 5 j: 7 S[i:j]: z1
i: 5 j: 8 S[i:j]: z18
----
i: 6 j: 7 S[i:j]: 1
i: 6 j: 8 S[i:j]: 18
----
i: 7 j: 8 S[i:j]: 8