-2

ユーザーから 2 つの文字列を取得するプログラムを作成します。プログラムは、s_short が s_long の部分文字列であることを確認し、s_short が s_long 内で見つかった場合、プログラムは s_short が s_long 内で発生するインデックス位置を出力する必要があります。s_short が s_long の部分文字列でない場合、プログラムは -1 を出力する必要があります。例

RESTART 
Enter the long string: aaaaaa
Enter the short string: aa
0 1 2 3 
RESTART  
Enter the long string: aaaaaaa
Enter the short string: ab
-1 

それは私のコードですが、動作しません

s_long=input("Enter a long string:")
s_short=input("Enter a short string:")
for index, s_short in enumerate(s_long):
  if (len(s_short))>=0:

        print(index)

else:
    print("-1")
4

1 に答える 1

1

次のように実行できます。

try:
    print s_long.index(s_short)
except ValueError:
    print -1

編集:実際には、上記のすべてとまったく同じことを行う find メソッドがあります。

print s_long.find(s_short) # -1 if not found

編集:部分文字列が発生するすべてのインデックスが必要な場合は、Python のreモジュールを使用できます。

于 2013-03-13T22:14:15.023 に答える