第3章-3 输出字母在字符串中位置索引 (20分)

输入一个字符串,再输入两个字符,求这两个字符在字符串中的索引。

输入格式:

第一行输入字符串
第二行输入两个字符,用空格分开。

输出格式:

反向输出字符和索引,即最后一个最先输出。每行一个。

输入样例:

在这里给出一组输入。例如:

mississippi
s p
 

输出样例:

在这里给出相应的输出。例如:

9 p
8 p
6 s
5 s
3 s
2 s
 1 # 输出字母在字符串中位置索引
 2 # Author: cnRick
 3 # Time  : 2020-3-25
 4 aStr = input() #输入字符串
 5 tmp = list(aStr) #把字符串转为列表类型,目的是使用列表中的reverse()方法
 6 tmp.reverse() #把列表反转
 7 aStr_reverse = "".join(tmp) #把反转后的列表转为字符串类型,方便按照题意的方式进行查找
 8 chars = input().split() # 输入待查询的字符,然后转为列表类型
 9 chars.reverse() # 反转这个列表,方便按照题意的方式进行查找
10 aStr_len = len(aStr) # 求算字符串的长度,然后可以按照索引aStr_len-char_index-1进行反向输出索引
11 for i in range(len(chars)):
12     char_count = aStr.count(chars[i]) #查询chars[i]这个字符在字符串中出现了几次
13     offset = 0
14     for j in range(char_count): #chars[i]这个字符出现了几次就进行几次循环
15         char_index = aStr_reverse.find(chars[i],offset)
16         offset = char_index + 1
17         print("{:d} {:s}".format(aStr_len-char_index-1, chars[i])) #反向输出字符和索引
18         
19         
 
原文地址:https://www.cnblogs.com/dreamcoding/p/12566706.html