因此,在ch中,您有字符,而不是字符的索引,所以即使您找到它,也无法知道它的索引(您只知道该字符在您的text字符串中,无其他内容)
而且,当你发现一个巧合时,你会打印。。。无(在print()中)
而且由于return -1(如果没有找到)在for循环中,一旦字符与查找到的字符不匹配,您将立即停止执行(返回-1)(您应该非常熟悉return语句)
你把绳子倒过来,但那可能不是很“建议”,因为这样你的指数就会反转。例如,假设您想在Hello中找到最后一个l。您期望:H e l l o
Index 0 1 2 3 4
这应该是3,但是既然你把它倒过来,开始从左向右走,你会得到:
^{pr2}$
第一个匹配在1,现在。。。不过,你还是可以做到的。。。你可以减去总长度的索引,你应该得到它。在
首先,我建议您阅读^{}内置函数的功能(不仅要获取字符,还要获取索引)
与你所拥有的非常接近的事情可能是:inputString = input("Enter here: ")
inputChar = input("Which character would you like to find?")
def Myrfind(text,aChar):
reverseString = text[::-1]
for i, ch in enumerate(reverseString):
if ch == aChar:
return len(text) - 1 - i
return -1
print(Myrfind(inputString, inputChar))
或者,不要反转数组,只需从右边开始读取(参见range的作用)def Myrfind(text,aChar):
for i in range(len(text) - 1, -1, -1):
ch = text[i]
if ch == aChar:
return i
return -1