Python练习题8(替换相同的字符串并输出):输入两个字母串,将两个字母串都包含的字母用'_'替换后,输出两个字母串的剩余部分 (不能为空串,区别大小写,只能包含字母)
Posted felixqiang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python练习题8(替换相同的字符串并输出):输入两个字母串,将两个字母串都包含的字母用'_'替换后,输出两个字母串的剩余部分 (不能为空串,区别大小写,只能包含字母)相关的知识,希望对你有一定的参考价值。
方法一:检查输入是否为空串,循环字母串,相同的则替换,然后再用replace()方法去除,输出想要的结果
1 def str_replace(messages1,messages2): 2 if messages1.strip() == ‘‘ or messages2.strip() == ‘‘ : #检验输入不能为空串 3 tips = "输入字母串有空串,不合法" 4 return tips 5 6 if not messages1.encode(‘UTF-8‘).strip().isalpha() or not messages2.encode(‘UTF-8‘).strip().isalpha():#检查输入字符串为字母(注:此处忽视了前后空格,但对字符串中间空格判为不合法,若需要忽视中间空格,可以用replace方法) 7 warn = "输入字母串不全是字母,请检查" 8 return warn 9 10 for msg1 in messages1: #循环字母串messages1 11 if msg1 in messages2: #判断该字符在messages2中 12 messages1 = messages1.replace(msg1,‘_‘) #将messages1中的重复字母替换为‘_‘ 13 messages2 = messages2.replace(msg1,‘_‘) #将messages2中的重复字母替换为‘_‘ 14 15 print("第1个字母串替换后为:" + messages1) 16 print("第2个字母串替换后为:" + messages2) 17 18 str_output1 = messages1.replace(‘_‘,‘‘) #去掉字符串中的‘_‘ 19 str_output2 = messages2.replace(‘_‘,‘‘) 20 21 ‘‘‘另一种不用方法,不用replace() 22 con_list1 = [] 23 con_list2 = [] 24 for msg in messages1: #循环 25 if msg.isalpha(): 26 con_list1.append(msg) 27 str_output1 = ‘‘.join(con_list1) #将列表转为字符串 28 29 for msg in messages2: 30 if msg.isalpha(): 31 con_list2.append(msg) 32 str_output2 = ‘‘.join(con_list2)‘‘‘ 33 34 result = "\n第一个字母串的剩余部分为:\n{0}\n第二个字母串的剩余部分为:\n{1}".format(str_output1,str_output2) 35 36 return result 37 38 str1 = input("请输入字母串1:") 39 str2 = input("请输入字母串2:") 40 print(str_replace(str1,str2))
以上是关于Python练习题8(替换相同的字符串并输出):输入两个字母串,将两个字母串都包含的字母用'_'替换后,输出两个字母串的剩余部分 (不能为空串,区别大小写,只能包含字母)的主要内容,如果未能解决你的问题,请参考以下文章