题解 | #字符串合并处理#
字符串合并处理
https://www.nowcoder.com/practice/d3d8e23870584782b3dd48f26cb39c8f
l=input().replace(" ", "") l1="" l2="" for i in range(len(l)): #以字符串模式分割 if i%2==0: l1=l1+l[i] else: l2=l2+l[i]a l1=sorted(l1,key=lambda x:ord(x)) #排序 l2=sorted(l2,key=lambda x:ord(x)) list=[] for i in range(len(l2)): list.append(l1[i]) list.append(l2[i]) if len(l1)>len(l2): #奇数项可能比偶数像多一个 list.append(l1[len(l2)]) LL=[] #最终列表 for i in list: a = i.upper() #也可以多一个小写的范围 if ord(a) in range(65,71) or ord(a) in range(48,58):#大写字母范围和数字范围 i=int(i,16) #转为十进制 i=bin(int(i))[2:].zfill(4) #转为二进制,不显示前面固定字母,只显示后四位 i = str(i)[::-1] #逆序 i=int(i,2) #逆序后转为10进制 i=hex(i)[2:] #转为16进制,除掉固定字母 i=i.upper() #大写 LL.append(i) else: LL.append(i) #不符合情况的字母直接不动 for i in LL: print(i,end="") #逐个输出