题解 | #字符串合并处理# python进制转换

字符串合并处理

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

while True:
    try:
        A, B =input().split()
    except:
        break
    else:
        in_str = list(A+B)

        in_str[0::2] = sorted(in_str[0::2])
        in_str[1::2] = sorted(in_str[1::2])
        list_transform = in_str
        for i in range(len(list_transform)):
            ascii = ord(list_transform[i])
            # 用ascii判断是否0-9 a-f
            if ascii in range(48,58) or ascii in range(65,71) or ascii in range(97,103):
                # zill为了对付0-9的二进制反转后为自身,如1-> 0001 -> 1 (1000)
                sub_list = str(bin(int(list_transform[i], 16)))[2:].zfill(4)
                sub_list = list(sub_list)
                sub_list.reverse()
                bin_ele = ''.join(sub_list)
                char_ele = str(hex(int(bin_ele, 2))[2:]).upper()
                list_transform[i] = char_ele

        list_transform = ''.join(list_transform)
        print(list_transform)
全部评论

相关推荐

评论
2
收藏
分享

创作者周榜

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