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

字符串合并处理

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

from re import split


def union(str1, str2):
    new_str = str1 + str2
    return new_str


def transform_1(str):
    ls_odd = []
    ls_even = []
    for i in range(len(str)):
        if i % 2 == 0:
            ls_even.append(str[i])
        else:
            ls_odd.append(str[i])

    new_ls_odd = sorted(ls_odd)
    new_ls_event = sorted(ls_even)
    new_str = []
    for i in range(len(str)):
        if i % 2 == 0:
            new_str.append(new_ls_event.pop(0))
        else:
            new_str.append(new_ls_odd.pop(0))
    return ("".join(new_str))


def transform_2(str):
    new_str = []
    for c in str:
        if '0'<=c<='9' or 'a'<=c<='f' or 'A'<=c<='F':
            dec_num = int(c, 16)
            bin_num = bin(dec_num)[2:].zfill(4)[::-1]
            new_bin_num = int(bin_num,2)
            res = hex(new_bin_num)[2]
            # print(res)
            if 'a'<=res<='z':
                new_str.append(res.upper())
            else:
                new_str.append(res)
        else:
            new_str.append(c)
    return ("".join(new_str))

str = input().split()
str_1 = union(str[0],str[1])
str_2 = transform_1(str_1)
str_3 = transform_2(str_2)
print(str_3)

全部评论

相关推荐

10-07 23:57
已编辑
电子科技大学 Java
八街九陌:博士?客户端?开发?啊?
点赞 评论 收藏
分享
我也曾抱有希望:说的好直白
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务