我是靠谱客的博主 冷艳手链,最近开发中收集的这篇文章主要介绍华为机试-字符串排序(python实现),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

题目描述(题目摘自网络)

编写一个程序,将输入字符串中的字符按如下规则排序。

规则 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实现)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(52)

评论列表共有 0 条评论

立即
投稿
返回
顶部