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

字符串合并处理

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

s1,s2 = input().split()
#step1 合并
s = s1 + s2

#step2 进行排序,下标为奇数的字符和下标为偶数的字符分别从小到大排序
ji_s = []
ou_s = []
for i in range(len(s)):
    if i % 2 == 0:#偶数
        ou_s.append(s[i])
    else:
        ji_s.append(s[i])
ou_s.sort()
ji_s.sort()
#合并回
s = []
flag =False if len(ou_s) == len(ji_s) else True
for i in range(len(ji_s)):
    s.append(ou_s[i])
    s.append(ji_s[i])
if flag:
    s.append(ou_s[-1])

def to_bin(st):
    if st in set("abcdef"):
        st = st.upper()
    dic = {"A":10,"B":11,"C":12,"D":13,"E":14,"F":15}
    num =dic[st] if st in dic else int(st)
    cur = bin(num).split("0b")[1]
    cur = cur.zfill(4)
    cur = cur[::-1]
    ten = int(cur,2)
    he = hex(ten).split("0x")[1]
    dic_16 = set("abcdef")
    if he in dic_16:
        return he.upper()
    return he
#偶数为大 5 2 3

for i in range(len(s)):
    if s[i] in set("0123456789abcdefABCDEF"):
        s[i] = to_bin(s[i])
print("".join(s))

全部评论

相关推荐

点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务