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

字符串合并处理

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

step1 = list(''.join(input().split(' ')))#前后合并
step1[1:len(step1):2] = sorted(step1[1:len(step1):2])
step1[0:len(step1):2] = sorted(step1[0:len(step1):2])
x = [] #用来存储处理后的字符串
for i in step1:
    if i in '0123456789':
        er = ''.join(list(reversed(bin(int(i))[2:].rjust(4,'0'))))#注意i是字符串 eg'1',所以是int(i),使用了reversed所以用list又生成了可迭代对象
        #可以直接用[::-1]。就能省去 列表转字符串的操作
        shi = int(er,2) #转换为十进制整数,参数er要求是字符串(转化为十六进制的准备工作)
        i = hex(shi)[2:].upper()#转化为十六进制
        x.append(i)
    elif i in 'ABCDEFabcdef':
        er1 = ''.join(list(reversed(bin(int(i,16))[2:].rjust(4,'0'))))#先转化为十进制,再转化为二进制,翻转
        shi1 = int(er1,2)#转化为十六进制的准备工作
        i = hex(shi1)[2:].upper()
        x.append(i)
    else:
        i = i
        x.append(i)
x1 = ''.join(x)
print(x1)
全部评论

相关推荐

01-23 19:12
门头沟学院 Java
榨出爱国基因:你还差 0.1% 就拿到校招礼盒,快叫朋友给你砍一刀吧
投递拼多多集团-PDD等公司10个岗位
点赞 评论 收藏
分享
评论
点赞
1
分享

创作者周榜

更多
牛客网
牛客企业服务