• 第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         
     
  • 相关阅读:
    C#中的委托是什么?事件是不是一种委托?
    SQL重点复习
    数据库生成脚本
    用Winfrom动态生成SQL的insert语句
    如何实现远程连接SQL Server 2008 Express
    跨页面传送
    win7 防火墙开启ping
    关于*.class和*.jar的几个基本认识
    使用cobertura确定测试代码的覆盖率
    Java学习笔记之I/O
  • 原文地址:https://www.cnblogs.com/dreamcoding/p/12566706.html
Copyright © 2020-2023  润新知