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         
     
  • 相关阅读:
    P4995 跳跳!
    P4306 [JSOI2010]连通数
    P1339 [USACO09OCT]热浪Heat Wave
    P2002 消息扩散
    P3388 【模板】割点(割顶)
    P1656 炸铁路
    P2863 [USACO06JAN]牛的舞会The Cow Prom
    P1516 青蛙的约会
    3.从尾到头打印链表
    2.替换空格
  • 原文地址:https://www.cnblogs.com/dreamcoding/p/12566706.html
Copyright © 2011-2022 走看看