当前位置:   article > 正文

python面试题-输入一个由n个大小写字母组成的字符,按Ascii码值从小到大排序,查找字符串中第k个最小Ascii码值的字母_给定一个由大写字母和小写字母组成的字符串, 将字符串里面的字符按照ascii码的顺

给定一个由大写字母和小写字母组成的字符串, 将字符串里面的字符按照ascii码的顺

题目:
输入一个由n个大小写字母组成的字符,按Ascii码值从小到大排序,查找字符串中第k个最小Ascii码值的字母(k>=1)

输入要求:
第一行输入大小写组成的字符串
第二行输入k, k必须大于0,k可以大于字符串长度

输出要求:
输出该字母所在字符串的位置索引,字符串第一个位置索引是为0,
k如果大于字符串长度,则输出最大值的怎么所在字符串的位置索引,
如果第k个最小Ascii码值的字母有重复,则输出该字母的最小位置索引。

示例:
输入:

AbCdeFG
3
  • 1
  • 2

输出:

5
  • 1

参考代码

"""
作者:上海-悠悠
python QQ交流群:730246532
联系微信/QQ: 283340479
"""
while 1:
    input_str = []
    for line in iter(input, "end"):  # 每行接收的东西
        input_str.append(line)
        if len(input_str) >= 2:
            break
    input_s, input_k = input_str
    try:
        k = int(input_k)
    except Exception as msg:
        print('k必须是数字')
        continue
    sort_s = sorted(input_s)
    if k <= 0:
        print('k必须大于0')
    else:
        if k > len(input_s):
            k = len(input_s)
        num_value = sort_s[k - 1]
        index = input_s.find(num_value)
        print(index)
        break
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27

运行结果

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/310094
推荐阅读
相关标签
  

闽ICP备14008679号