当前位置 博文首页 > 一个混错圈儿的小测试:python:字符串排序

    一个混错圈儿的小测试:python:字符串排序

    作者:[db:作者] 时间:2021-09-09 13:30

    题目描述

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

    规则 1 :英文字母从 A 到 Z 排列,不区分大小写。

    如,输入: Type 输出: epTy

    规则 2 :同一个英文字母的大小写同时存在时,按照输入顺序排列。

    如,输入: BabA 输出: aABb

    规则 3 :非英文字母的其它字符保持原来的位置。

    如,输入: By?e 输出: Be?y

    注意有多组测试数据,即输入有多行,每一行单独处理(换行符隔开的表示不同行)

    输入描述:

    输入字符串

    输出描述:

    输出字符串

    示例1

    输入

    A Famous Saying: Much Ado About Nothing (2012/8).
    

    输出

    A aaAAbc dFgghh: iimM nNn oooos Sttuuuy (2012/8).

    实现

    while 1:
    ? ? try:
    ? ? ? ? line = input()
    ? ? ? ? alpha, other = '', {}
    ? ? ? ? for index, i in enumerate(line):
    ? ? ? ? ? ? if i.isalpha():
    ? ? ? ? ? ? ? ? alpha += i
    ? ? ? ? ? ? else:
    ? ? ? ? ? ? ? ? other[index] = i
    ? ? ? ? new = sorted(alpha, key=lambda x: x.upper())
    ? ? ? ? for key, value in other.items():
    ? ? ? ? ? ? new.insert(key, value)
    ? ? ? ? print(''.join(new))
    ? ? except:
    ? ? ? ? break

    cs