编写函数strrindex(s, t),它返回字符串t在s中最右边出现的位置。如果s中不包含t,则返回-1。 设计一个合适的主程序测试你编写的函数。字符串的长度不超过1000
时间: 2024-10-20 19:19:13 浏览: 10
编写函数`strrindex`的主要目的是在给定字符串`s`中查找子串`t`最后一次出现的索引位置,从右向左开始搜索。如果`s`中不包含`t`,则返回-1。这是一个Python示例:
```python
def strrindex(s, t):
if len(t) > len(s):
return -1
for i in range(len(s)-len(t)+1, -1, -1): # 从后向前遍历
if s[i:i+len(t)] == t:
return i
return -1
# 测试函数
main_program = """
s = "Hello, World!"
t = "World"
print("在's'中't'最后出现的位置:", strrindex(s, t)) # 预期输出:7
s = "Test String"
t = "zoo" # 't'不在's'中
print("在's'中't'最后出现的位置:", strrindex(s, t)) # 预期输出:-1
s = ""
t = "test" # 空字符串的情况
print("在's'中't'最后出现的位置:", strrindex(s, t)) # 预期输出:-1
"""
exec(main_program)
```
这个函数首先检查子串`t`是否比原字符串`s`长,如果是,则说明不可能在`s`中找到`t`,直接返回-1。然后从`s`的最后一个字符位置开始向前遍历,直到第一个字符,判断每个子串是否与`t`匹配。
阅读全文