华为机试34-图片整理

题目描述
Lily上课时使用字母数字图片教小朋友们学习英语单词,每次都需要把这些图片按照大小(ASCII码值从小到大)排列收好。请大家给Lily帮忙,通过编程解决。

输入描述:
Lily使用的图片包括"A"到"Z"、"a"到"z"、"0"到"9"。输入字母或数字个数不超过1024。

输出描述:
Lily的所有图片按照从小到大的顺序输出

示例1
输入
Ihave1nose2hands10fingers
输出
0112Iaadeeefghhinnnorsssv

 

参考1:

直接法

while True:
    try:
        num = input()
        res = []
        for a in num:
            if a.isalpha():    #是否是字母
                m = ord(a)     #转化为ACSII码
                res.append([a,m])
            else:
                res.append([a,int(a)])
        re = sorted(res,key=lambda x:x[1])
        cha = [i[0] for i in re]
        print(''.join(cha))
    except:
        break

执行结果: 答案正确:恭喜!您提交的程序通过了所有的测试用例 用例通过率: 100.00% 运行时间: 23ms 占用内存: 3424KB

 

参考2:

简洁法

while True:
    try:
        print("".join(sorted(input())))
    except:break

执行结果: 答案正确:恭喜!您提交的程序通过了所有的测试用例 用例通过率: 100.00% 运行时间: 24ms 占用内存: 3416KB

posted @ 2020-08-21 20:00  Andy_George  阅读(170)  评论(0编辑  收藏  举报