问题
从给定字符串中查找某指定的字符。输入的第一行是一个待查找的字符。第二行是一个以回车结束的非空字符串,如果找到,在一行内按照格式“index = 下标”输出该字符在字符串中所对应的最大下标(下标从0开始);否则输出"Not Found"。
方法
这里运用到了使字符串倒叙[::-1],find()检测返回待查找的字符索引位置,不存在则返回-1。
首先使用x = input("请输入待查找的字符:"),先输入待查找的字符,再使用y = input("请输入一个字符串:"),输入一个字符串,这里由于输入的默认就是字符所以不用转换。
再利用条件判断,if y.find(x) != -1,判断带查找的字符下标是否在字符串中,如果存在,则利用y[::-1]使输入的字符串倒序,然后再利用index = len(y) - y.find(x) – 1 就可以找出待查字符的最大下标。
否则不存在,则返回Not Found。
通过实验、实践等证明提出的方法是有效的,是能够解决开头提出的问题。
代码清单 1
x = input("请输入待查找的字符:") y = input("请输入一个字符串:") if y.find(x) != -1: y = y[::-1] print(y) print(f'index = {len(y) - y.find(x) - 1}') else: print("Not Found")
结语
针对找出待查找字符的最大下标,提出使用倒序和find()方法,用find()方法可以直接判断这个字符是否存在字符串中,如果存在则可以使用倒序方法,容易地把最大字符下标找出来。