我是靠谱客的博主 生动身影,最近开发中收集的这篇文章主要介绍【机试题(实现语言:python3)】字符串合并处理-进制转换,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

题目描述
按照指定规则对输入的字符串进行处理。

详细描述:

将输入的两个字符串合并。

对合并后的字符串进行排序,要求为:下标为奇数的字符和下标为偶数的字符分别从小到大排序。这里的下标意思是字符在字符串中的位置。

对排序后的字符串进行操作,如果字符为‘0’——‘9’或者‘A’——‘F’或者‘a’——‘f’,则对他们所代表的16进制的数进行BIT倒序的操作,并转换为相应的大写字符。如字符为‘4’,为0100b,则翻转后为0010b,也就是2。转换后的字符为‘2’; 如字符为‘7’,为0111b,则翻转后为1110b,也就是e。转换后的字符为大写‘E’。

举例:输入str1为"dec",str2为"fab",合并为“decfab”,分别对“dca”和“efb”进行排序,排序后为“abcedf”,转换后为“5D37BF”

注意本题含有多组样例输入

输入描述:

本题含有多组样例输入。每组样例输入两个字符串,用空格隔开。

输出描述:

输出转化后的结果。每组样例输出一行。

示例1
输入

dec fab
DKSq8qykpgKIZxiRKmQ9QkZt909PffE6Gyfc57dBx7p20D42bWJRzKqGGCzzQ4p7Z32Dsx2Cf8G2841lPuAZNb K0fHodOVFlbl220ov260TPOrmZ328d1E89OatcL88EXr622RdklXtXazO7wMoc6DEKU45eQ5VBUy2YFjgJX
hAWK8umt8F17X5IE74tTG526SEwCd9520r5NvA20H6T28YVeP5nbQ4459I9G7W qXr9OOvzq9Do5WF8M4ANEkto79IQ3tF9sPK36q2w8y4In9BR1mOm

输出

5D37BF
000080844444444444C42CA2A2626A661E1E1E1E11919959BD7D73F3FBGBGBG7J7KGKHKILJNKOKOKOMOPPPQRQRQRQVSWTXUXUYVZXZX5ZDZ3Z353DBDBB7BFFgFjFkFkgkilllmlomoopqpqprqrsttutxvxwyxyyzzzz
0084844C4242C22A2AAAAAA666EEE1E919191919999555D3B777FFFGGIHIIKINKNMOOPOQPRQTSWTWVXWYXDB7hkmmnmnoqoqqrrsttttuvwvywz

代码实现:

import string
def func():
    while True:
        try:
            lists = input().split(' ')
            #print(lists)
            list1 = list(lists[0])
            list1.extend(list(lists[1]))
            list1[::2] = sorted(list1[::2])
            list1[1::2] =  sorted(list1[1::2])
            #print(list1)
            hex_num = ['0', '1', '2', '3',
                       '4', '5', '6', '7',
                       '8', '9', 'a', 'b',
                       'c', 'd', 'e', 'f',
                       'A', 'B', 'C', 'D',
                       'E', 'F']
            for k,v in enumerate(list1):
                if v in hex_num:
                    ten = int(v,16)
                    res = format(ten,'b').rjust(4,'0')
                    res = res[::-1]
                    res = format(int(res,2),'x')
                    res = str.upper(res)
                    list1[k] = res
            print(''.join(list1))         
        except Exception as e:
            #print(e)
            break
if __name__ == '__main__':
    func()
            
            

最后

以上就是生动身影为你收集整理的【机试题(实现语言:python3)】字符串合并处理-进制转换的全部内容,希望文章能够帮你解决【机试题(实现语言:python3)】字符串合并处理-进制转换所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(48)

评论列表共有 0 条评论

立即
投稿
返回
顶部