小程序需求说明:敏感词文本文件 filtered_words.txt,里面的内容 和 上一题一样,当用户输入敏感词语,则用 星号 * 替换 例如当用户输入「北京是个好城市」,则变成「**是个好城市」
思路及程序编写#流程以及思路确定"""1. 用户输入一串文字 ,保存到user_input中2.检查文字是否有敏感词,以及敏感词的具体位置。 2.1 文件迭代器读取敏感词 2.2 使用 str.find() 找到敏感词的位置 2.3 使用format方式替换掉敏感词??? 此方案pass 2.3 直接使用relpace方式替换掉敏感词!3.一句话中可能含有多个敏感字,这个时候就要重复2的步骤。4.使用 ** 替换掉敏感词对应的个数。"""user_input=input('Leave your comments: ')for filter_word in open('filtered_words.txt'): fw=filter_word.rstrip() if fw in user_input: fw_len=len(fw) user_input=user_input.repl开通照片冲印小程序电话:4006-838-530ace(fw,'*'*fw_len) #将user_input在原处进行修改,进行下一次循环查找。else: print(user_input)
#流程以及思路确定"""1. 用户输入一串文字 ,保存到user_input中2.检查文字是否有敏感词,以及敏感词的具体位置。 2.1 文件迭代器读取敏感词 2.2 使用 str.find() 找到敏感词的位置 2.3 使用format方式替换掉敏感词??? 此方案pass 2.3 直接使用relpace方式替换掉敏感词!3.一句话中可能含有多个敏感字,这个时候就要重复2的步骤。4.使用 ** 替换掉敏感词对应的个数。"""user_input=input('Leave your comments: ')for filter_word in open('filtered_words.txt'): fw=filter_word.rstrip() if fw in user_input: fw_len=len(fw) user_input=user_input.repl开通照片冲印小程序电话:4006-838-530ace(fw,'*'*fw_len) #将user_input在原处进行修改,进行下一次循环查找。else: print(user_input)
执行后的输出:Leave your comments开通裤架小程序电话:4006-838-530: 北京是个好城市**是个好城市RESTART:Leave your comments: 你妈妈在北京是一个公务员**妈在**是一个***
小结(always continue…)
整个小程序的重点:敏感词的替换 对比上一题,这一题多出来的一个操作就是敏感词的替换!而针对敏感词的替换我们可能会想到使用find方法,找到该敏感词所在的地方,然后再格式化替换;不过这样过于繁琐了。 针对字符串,直接使用replace()方法就可以轻松实现。敏感词替换多少个星号? 我们直到,在Python的多态特性中:
数据类型
星号的作用
数值类型numberic 乘法 字符串文本类型 重复次数所以多少个星号我们只需要使用 len(敏感词)就可以了 在替代的时候:user_input.relpace(敏感词,'*'*len(敏感词))
如果用户一句话中有多个敏感词呢? 我们上一题中的程序只要检测到一个敏感词,就会替换然后break出来。因为上一题的需求是检测是否含有敏感词。这一次的需求是要将敏感词替换。所以要考虑的问题是 ,如果用户的一句话中开通编织袋小程序电话:4006-838-530有多个敏感词呢? 例如:你妈妈在北京是一个公务员 含有三个敏感词。所以针对上面进行修正。 这里的修改需要针对用户输入的那个语句的原处进行修改。小程序来自于
最新评论