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

字符串合并处理

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

while True:
    try:
        str = ''.join(input().split())
    except:
        break
    else:
        # 第二步奇偶排列
        oushu = [str[x] for x in range(0,len(str),2)]
        jishu = [str[x] for x in range(1,len(str),2)]
        oushu.sort()
        jishu.sort()
        paixu = []
        for i in range(len(str)):
            n = int(i/2)
            if i % 2 == 0:
                paixu.append(oushu[n])
            else:
                paixu.append(jishu[n])
        #第三步转换字符
        for i in paixu:
            try:
                b=bin(int(i,16))[2:]
                b = '0'*(4-len(b)) + b if len(b)<4 else b
                b = b[::-1]
                b = hex(int(b, 2))[2:].upper()
                print(b,end='')
            except:
                print(i,end='')
        print()

全部评论
b = '0'*(4-len(b)) + b if len(b)<4 else b这行代码直接用b = b.rjust(4,'0')替换就可以,更简洁一些。
1 回复 分享
发布于 2023-04-09 20:54 上海
感谢大神,学会了使用try...except去掉其他字符,以及使用join放到开头去空格,之前只是把join放到print里面
点赞 回复 分享
发布于 2023-04-03 14:32 北京
这里没有判断a~fA~F0~9吧?
点赞 回复 分享
发布于 2022-09-21 00:48 广东
小白实在看不懂啊
点赞 回复 分享
发布于 2022-09-18 10:12 广东
except: print(i,end='') print() 这后面两个print是什么情况输出什么,确实有点菜没能理解
点赞 回复 分享
发布于 2022-03-13 20:34
b = '0'*(4-len(b)) + b if len(b)<4 else b 大佬这步是干嘛的?没想明白
点赞 回复 分享
发布于 2022-03-13 20:25

相关推荐

07-02 18:09
门头沟学院 Java
苍穹外卖和谷粒商城这俩是不是烂大街了,还能做吗?
想去重庆的鸽子在吐槽:你不如把这俩做完自己搞明白再优化点再来问 何必贩卖焦虑
点赞 评论 收藏
分享
鬼迹人途:你去投一投尚游游戏,服务器一面,第一个图算法,做完了给你一个策略题,你给出方案他就提出低概率问题,答不上当场给你挂
点赞 评论 收藏
分享
06-25 09:33
厦门大学 Java
程序员饺子:现在日常估计没啥hc了,等到八月多估计就慢慢有了。双九✌🏻不用焦虑的
投递快手等公司7个岗位
点赞 评论 收藏
分享
评论
15
4
分享

创作者周榜

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