Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 用星号替换单词:模式字符串的部分也被替换_Python - Fatal编程技术网

Python 用星号替换单词:模式字符串的部分也被替换

Python 用星号替换单词:模式字符串的部分也被替换,python,Python,我正在做一个家庭作业,我应该检查句子中的一些单词。有一个要检查的单词列表,程序应该检查从用户输入中得到的句子中的单词 我已经解决了这个问题,但一路上我尝试了一些我也希望能奏效的东西,但没有成功。下面是两个不同的程序,一个有效,另一个无效。唯一的区别是在fin中搜索单词_list[i]的行中 从cs50导入获取字符串 从系统导入argv def main(): 如果len(argv)!=2: 打印(“用法:python bleep.py字典”) 出口(1) fin=打开(argv[1]) 打印(“

我正在做一个家庭作业,我应该检查句子中的一些单词。有一个要检查的单词列表,程序应该检查从用户输入中得到的句子中的单词

我已经解决了这个问题,但一路上我尝试了一些我也希望能奏效的东西,但没有成功。下面是两个不同的程序,一个有效,另一个无效。唯一的区别是在fin中搜索单词_list[i]的行中

从cs50导入获取字符串
从系统导入argv
def main():
如果len(argv)!=2:
打印(“用法:python bleep.py字典”)
出口(1)
fin=打开(argv[1])
打印(“您希望审查哪些邮件?”)
message=get_string()
word_list=message.split()
#这种变体有效。
对于范围内的i(len(单词列表)):
如果fin中的(单词列表[i].lower()+'\n'):
单词列表[i]='*'*len(单词列表[i])
fin.seek(0)
#下面的方法不起作用。
#对于范围内的i(len(单词列表)):
#如果fin.read()中的单词列表[i].lower():
#单词列表[i]='*'*len(单词列表[i])
#fin.seek(0)
打印(''.join(单词列表))
财务结束()
如果名称=“\uuuuu main\uuuuuuuu”:
main()

假设我想用****检查“heck”,但第二个程序也检查像“he”这样的字符串,它只是“heck”的一部分。

问题是“heck”中的“he”是真的

第一个代码通过确保单词以
\n
结尾来解决这个问题

另一点:您正在读取用户输入中每个单词的文件。这是更有效和更有问题的。更易于编写、读取和调试,只需读取一次文件并将其存储在字符串中(最好是一个拆分器字符串列表)