用Python处理起来比较简单 | #字符串合并处理#

字符串合并处理

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


import re

# 构造函数加密字符,如果是[0-9A-Fa-f]则按规则返回加密值,否则返回原始值
def encrypt(x):
    if re.search(r'[0-9A-Fa-f]', x):
        return hex(int(bin(int(x, 16))[2:].rjust(4, '0')[::-1], 2))[2:].upper()
        """
        1. int(x, 16) - 将字符x转成16进制
        2. bin(int(x, 16))[2:].rjust(4,'0')[::-1] - 继续将十六进制转成二进制,并去除二进制开头"0b",如果二进制长度小于4,则在前面补0至四位,然后再倒序。
        比如bin(int('7', 16))输出0b111,[2:]去除0b后为111,rjust(4,'0')左侧补0则变为0111,[::-1]倒序后变为二进制的1110
        3. hex(int(i,2)[2:].upper() - 其中i表示注释2的内容。这一步是将上一步获取的二进制转成十六进制,并去除开头的"0x",最后再将其转成大写。
        """
    else:
        return x

while True:
    try:
        a = list(input().replace(" ", "")) # 去除输入中的空格,并将输入的字符处理成列表
        a[::2] = sorted(a[::2])  # 奇数位置从小到大排序
        a[1::2] = sorted(a[1::2])  # 偶数位置从小到大排序
        res = ""
        for i in a:
            res += encrypt(i) # 调用加密函数,遍历输出结果
        print(res)
    except:
        break


全部评论
1. "int(x, 16) - 将字符x转成16进制",这里注释应该是字符所代表的十六进制转化成十进制才对
4 回复 分享
发布于 2022-03-26 19:24
好像……a[::2]是从下标0开始,2,4,6……这样,是偶数下标,代码注释写成了奇数。
2 回复 分享
发布于 2023-04-03 09:46 陕西
最喜欢这种,注释齐全的,大神
2 回复 分享
发布于 2022-08-17 11:42 广东
# int函数的意思是int('123',8)把123视为8进制,结果是10进制的表示。int('10',2)把'10'视为2进制,结果是十进制的2 # hex函数把10进制转化为 16 进制
2 回复 分享
发布于 2022-03-11 16:13
invalid literal for int() with base 16: 'G' 沒什麼你這個沒有這樣的報錯啊
2 回复 分享
发布于 2021-10-19 15:33
华为OD深圳/西安岗位,部门急招,薪资20-80w. 部门有专门机考辅导人员,每周开视频讲座。欢迎叨扰:***********
1 回复 分享
发布于 2023-05-10 15:57 广东
填充0的操作,使用zfill也可以,默认在字符串的左侧填充指定数量的零。 hex(int(bin(int(x, base=16))[2:].zfill(4)[::-1], base=2))[2:].upper()
点赞 回复 分享
发布于 2024-11-11 11:08 江苏
巧用切片! 这个好,学习了,对切片排序后,再塞回去。
点赞 回复 分享
发布于 2024-11-11 10:52 江苏
对啊,用列表啊,自己写得好复杂的说
点赞 回复 分享
发布于 2023-08-26 18:15 山东
谢谢,学会了使用list(input().replace(" ", ""))去空格
点赞 回复 分享
发布于 2023-04-03 14:31 北京
python是真方便啊
点赞 回复 分享
发布于 2022-09-18 20:03 天津
秀到了
点赞 回复 分享
发布于 2022-07-25 02:40
太优雅了,这样的写法
点赞 回复 分享
发布于 2022-07-19 16:18
喜欢这种带注释,有详细解释的
点赞 回复 分享
发布于 2022-03-16 12:46

相关推荐

谁知道呢_:你好,我是炮灰n+1号
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
113
31
分享

创作者周榜

更多
牛客网
牛客企业服务