• 第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(),""))
     
  • 相关阅读:
    win7下 iis配置 不能添加默认文档的 解决方案
    经典SQL语句大全
    Sql 行转列问题总结
    jQuery获取Select选择的Text和 Value(转)
    如何让虚拟目录里面的webconfig不继承网站的设置
    SQL2008 用户'sa'登录失败(错误18456)图文解决方法
    ASP.NET实现公历转农历的简单方法
    你的DNN站点慢了么?
    SQLServer2005删除log文件和清空日志的方案
    由于未能创建 Microsoft Visual C# 2008 编译器,因此未能打开项目 "xxx"
  • 原文地址:https://www.cnblogs.com/dreamcoding/p/12572839.html
Copyright © 2020-2023  润新知