概述
题目描述(题目摘自网络)
编写一个程序,将输入字符串中的字符按如下规则排序。
规则 1 :英文字母从 A 到Z 排列,不区分大小写。
规则 2 :同一个英文字母的大小写同时存在时,按照输入顺序排列。
规则 3 :非英文字母的其它字符保持原来的位置。
示例1
输入
A FamousSaying: Much Ado About Nothing (2012/8).
输出
A aaAAbcdFgghh: iimM nNn oooos Sttuuuy (2012/8).
分析:对原字符串按照规则1,2排序(巧妙转换ascii,使用ord函数),将源字符串中的非英文字母插入新的排序中。
def func():
input_str = input()
change_list = []
for i in range(26):
a = ord('a') + i
A = ord("A") + i
for j in input_str:
if ord(j) == a or ord(j) == A:
change_list.append(j)
for i, value in enumerate(list(input_str)):
if not value.isalpha():
change_list.insert(i, value)
print(''.join(change_list))
if __name__ == '__main__':
func()
最后
以上就是冷艳手链为你收集整理的华为机试-字符串排序(python实现)的全部内容,希望文章能够帮你解决华为机试-字符串排序(python实现)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复