第3章-16.删除字符 (30分)(此题有坑)
输入一个字符串 str,再输入要删除字符 c,大小写不区分,将字符串 str 中出现的所有字符 c 删除。
输入格式:
在第一行中输入一行字符 在第二行输入待删除的字符
输出格式:
在一行中输出删除后的字符串
输入样例:
在这里给出一组输入。例如:
Bee
E
输出样例:
在这里给出相应的输出。例如:
result: B
Note:
1.坑点在于题目中默认输入的字符串两边不允许有空格,默认删除的字符c不可以有空格,参考中M这门课官方助教给出的答复
2.Python语言有一个print()方法的特性:如print("abc","123")输出的结果:abc 123
即print()方法默认在用一个逗号间隔两个变量输出的时候会输出一个空格
第一版代码(不建议参考,有点C-like的感觉,建议参考第二版代码)
1 # 删除字符 2 # Author: cnRick 3 # Time : 2020-3-26 4 #数据预处理 5 aStr = input().strip() 6 delete_char_list = list(input().strip()) 7 delete_char_noredundancy = [] #存放所有没有冗余的待删除字符 8 result = [] #存放结果 9 for i in range(len(delete_char_list)): 10 if((delete_char_list[i] in delete_char_noredundancy) == True): 11 continue 12 else: 13 if('A' <= delete_char_list[i] <= 'Z'): 14 delete_char_noredundancy.append(delete_char_list[i]) 15 delete_char_noredundancy.append(delete_char_list[i].lower()) 16 elif('a' <= delete_char_list[i] <= 'z'): 17 delete_char_noredundancy.append(delete_char_list[i]) 18 delete_char_noredundancy.append(delete_char_list[i].upper()) 19 else: 20 delete_char_noredundancy.append(delete_char_list[i]) 21 22 for i in range(len(aStr)): 23 if((aStr[i] in delete_char_noredundancy) == True): 24 continue 25 else: 26 result.append(aStr[i]) 27 result = "".join(result) 28 print(f"result: {result}",end="") #手动输入一个空格来模拟这个特性...
第二版代码
1 # 删除字符 2 # Author: cnRick 3 # Time : 2020-3-26 4 aStr = input().strip() #把输入的待处理字符串前后的空格字符删除 5 print(aStr) 6 delete_chars = input().strip() ##把输入的要删除的字符前后的空格字符删除 7 print(delete_chars) 8 print("result:",aStr.replace(delete_chars.upper(),"").replace(delete_chars.lower(),""))