zoukankan      html  css  js  c++  java
  • 第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         
     
  • 相关阅读:
    记一次诡异的调优
    java动态代理学习笔记
    c#反射机制学习和利用反射获取类型信息
    php开启ssl的方法
    关于java中split的使用
    c#使用反射调用类型成员示例
    C#关于反射加载的问题
    Twitter:使用Netty 4来减少GC开销
    Java中如何修改Jar中的内容
    Android中自定义视图View之---前奏篇
  • 原文地址:https://www.cnblogs.com/dreamcoding/p/12566706.html
Copyright © 2011-2022 走看看