题解 | #字符串合并处理#

字符串合并处理

https://www.nowcoder.com/practice/d3d8e23870584782b3dd48f26cb39c8f

def transfer(a): #第三步的转换函数
	#若为16进制范围内,进行转换
    if a.isdigit() or (ord('a')<=ord(a)<=ord('f')) or (ord('A')<=ord(a)<=ord('F')):
        a2 = bin(int(a,16))
        if len(a2) < 6: #若2进制表示缺位补0
            a2 = str(a2)[:2]+'0'*(6-len(a2))+str(a2)[2:]
        a3 = hex(int((str(a2[:2])+str(a2[2:])[::-1]),2)) #翻转后转为16进制
        if str(a3)[2].islower(): #默认16进制表示的字母为小写,需转为大写输出
            return str(a3)[2].upper()
        else: #若为数字,直接输出
            return str(a3)[2]
    else: #若为16进制范围外字母,返回自身
        return a
while True:
    try:
        a = input().split(' ')
        b = list(a[0]+a[1])
        b[0::2]=sorted(b[0::2]) #偶数下标排序
        b[1::2]=sorted(b[1::2]) #奇数下标排序
        for i in b:
            print(transfer(i), end='')
    except:
        break

全部评论

相关推荐

牛客37328580...:个人感觉项目只是列出来了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务