python面试题-输入一个由n个大小写字母组成的字符,按Ascii码值从小到大排序,查找字符串中第k个最小Ascii码值的字母
题目:
输入一个由n个大小写字母组成的字符,按Ascii码值从小到大排序,查找字符串中第k个最小Ascii码值的字母(k>=1)
输入要求:
第一行输入大小写组成的字符串
第二行输入k, k必须大于0,k可以大于字符串长度
输出要求:
输出该字母所在字符串的位置索引,字符串第一个位置索引是为0,
k如果大于字符串长度,则输出最大值的怎么所在字符串的位置索引,
如果第k个最小Ascii码值的字母有重复,则输出该字母的最小位置索引。
示例:
输入:
AbCdeFG
3
输出:
5
参考代码
"""
作者:上海-悠悠
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
运行结果