嗨,我在做一个净化程序。我以前也发布过类似的代码,它们都能工作。这次我尝试了一种不同的方法。你知道吗
这是我想要的一个例子
输入=这是废话 输出=这是xxxx
这是我到目前为止的代码
def main():
message = []
userInput = str(input("Enter the sentence: "))
for i in userInput:
if((i=='c' or i =='C') and (i =='r' or i=='R')):
i = 'x' * len(i)
message.append(i)
print(' '.join(message))
如果在if语句中没有“and”,那么上面的代码可以工作,但是只要我添加“and”,这就是我得到的输出
Enter the sentence: CR
C R
我希望输出为xx。 我怎样才能做到这一点? 谢谢你的帮助
条件
if((i=='c' or i =='C') and (i =='r' or i=='R')):
要求i
同时是a(大写与否)C
和R
!所以它总是假的。你知道吗你不需要循环输入。只需检查字符串是否包含“crap”并替换为“xxxx”:
如果有多个字符串的列表,可以为每个字符串创建正则表达式,并将其替换为具有特定长度的同一字符串:
您应该在那里使用
or
而不是and
。但是,对于给定的输入,可以使用以下循环:但是这段代码每次看到
c
或r
时都只添加x
,不管它们是否作为单词"crap"
的一部分输入。你知道吗要检查该单词,不需要迭代
userInput
,只需对其进行测试:如果您的
userInput
是一个空格分隔的单词,那么您需要使用userInput.split()
来split
它,并对每个单词进行测试,从而以迭代方式创建列表。你知道吗此外,如果您可以编写一个用于过滤噪声的定义良好的规则,比如在
file
中有限制词列表,然后从中读取,创建一个list
,然后检查输入的词是否在该列表中(这可以作为临时解决方案)。你知道吗相关问题 更多 >
编程相关推荐