-2

编写一个程序,从用户那里获取两个字符串。程序应验证 s_short 是否是 s_long 的子字符串,如果在 s_long 中找到 s_short,则程序应打印 s_long 中出现 s_short 的索引位置。如果 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 回答