基本上我想说的是: 我想通过命令行参数读取一个用户给定的文件,然后向用户请求一条他们想要被审查的消息。如果一个句子中的一个给定单词也在他们提供的文本文件中,那么我们用星号替换这个单词。否则,我们就把这个词打印出来。 我已经掌握了基本的想法,但它不起作用。帮助我!我的代码如下:
从sys import argv 从cs50导入获取\u字符串
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()
如果这让人困惑,我很抱歉!我见过许多人试图这样做,但他们没有回答我的问题。如果你回答这个问题:谢谢你的时间和耐心!
你的代码中有几个错误。。。也许你应该从头开始,如果前一部分有效的话,扩展程序。一些评论:
for line in bntxt
:应该有bntxt.readlines()
for word in msg: s = msg.split()
:它不需要在循环中,因为值总是相同的(在读取文件中它不会改变)您可能希望将所有
for
嵌套在内部,因此请记住适当的缩进。祝你好运!你知道吗
相关问题 更多 >
编程相关推荐