第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(),""))

 

 

 

 
posted @   cnRicky  阅读(1501)  评论(0编辑  收藏  举报
编辑推荐:
· 后端思维之高并发处理方案
· 理解Rust引用及其生命周期标识(下)
· 从二进制到误差:逐行拆解C语言浮点运算中的4008175468544之谜
· .NET制作智能桌面机器人:结合BotSharp智能体框架开发语音交互
· 软件产品开发中常见的10个问题及处理方法
阅读排行:
· 后端思维之高并发处理方案
· 千万级大表的优化技巧
· 在 VS Code 中,一键安装 MCP Server!
· 10年+ .NET Coder 心语 ── 继承的思维:从思维模式到架构设计的深度解析
· 想让你多爱自己一些的开源计时器
点击右上角即可分享
微信分享提示