0

ここで質問がありますが、どこから始めればよいか本当にわかりません

s1.find(s2)

どんな助けでも大歓迎です。

変数 s1 と s2 は strs を参照します。式 s1.find(s2) は、s1 で最初に出現する s2 のインデックスを返します。式 s1.find(s2, 5) は、s1 内のインデックス 5 から始まる、s1 内で最初に出現する s2 のインデックスを返します。(詳細については、help(str.find) を参照してください)

s1 で s2 が 2 番目に出現するインデックスを生成する式を記述します。s2 が s1 で 2 回出現しない場合、式は -1 を生成する必要があります。str.count とは異なり、s2 の重複発生を許可する必要があります。

たとえば、s1 が「banana」で s2 が「ana」の場合、式は 3 を返す必要があります。s1 が「apple」で s2 が「p」の場合、式は 2 を返す必要があります。

答えは、角かっこ (文字列のインデックス付けとスライス) を使用しない単一の式である必要があり、str.find メソッドを呼び出して算術演算子 (+、- など) を使用することしかできません。

4

2 に答える 2

5

これは 3 を出力します。

s1 = 'banana'
s2 = 'ana'
second_index = s1.find(s2, s1.find(s2)+1)
print(second_index)

これは -1 を出力します。

s1 = 'bana'
s2 = 'ana'
second_index = s1.find(s2, s1.find(s2)+1)
print(second_index)

したがって、おそらく探している式は ですs1.find(s2, s1.find(s2)+1)

于 2013-09-11T23:48:04.020 に答える
1

手がかりについては、ドキュメントをお読みください。

http://docs.python.org/2/library/string.html

于 2013-09-12T00:01:26.537 に答える