所以基本上我想说的是以下内容: 我想通过命令行参数读取用户给定的文件,然后向用户询问他们要检查的消息。如果句子中的给定单词也在其提供的文本文件中,则我们用星号替换该单词。否则,我们将单词打印出来。 我已经掌握了基本概念,但是它没有用。帮我!我的代码如下:
从sys导入argv 从cs50 import get_string
def main():
if len(argv) != 2:
print("provide a txtfile.")
exit(1)
msg = get_string("What do you want to bleep?\n")
words = []
finalWORDS = []
with open(argv[1]) as bntxt:
for line in bntxt:
d = words.append(line.strip())
for word in msg:
s = msg.split()
for same in s:
if s == d:
finalWORDS.append(s)
else:
print("no")
print(words)
print(s)
print(finalWORDS)
if __name__ == "__main__":
main()
如果感到困惑,我非常抱歉!我已经看到许多其他人尝试这样做,但是他们没有回答我的问题。如果您回答:谢谢您的时间和耐心!
答案 0 :(得分:0)
您的代码中有几个错误...也许您应该从头开始,如果前面的部分起作用,请扩展程序。一些说明:
for line in bntxt
:应该有bntxt.readlines()
for word in msg: s = msg.split()
:它不会处于循环中,因为值始终是相同的(在读取的文件中不会改变)
您可能想将所有for
嵌套在其中,因此请记住适当的缩进。
祝你好运!