以下是说明:https://docs.cs50.net/2019/x/psets/6/index.html 我几乎完成了,但是问题是句子的最后一个字符是空格,因为end =“”,这是错误,但是我不知道如何解决它,因为如果我删除end =“”句子中的单词将是togheter,因为没有空格。我该怎么办? 这是我的代码
from cs50 import get_string
from sys import argv
def main():
if len(argv) != 2:
print("Error")
exit(1)
wordsbanned = set()
mayuscula = set()
file = open(argv[1], "r")
for line in file:
wordsbanned.add(line.rstrip("\n"))
file.close
message = get_string("Enter a message: ")
token = message.split()
for word in wordsbanned:
x = word.upper()
mayuscula.add(x)
for t in token:
if t in wordsbanned or t in mayuscula:
print(("*" * len(t)), end=" ")
else:
print(t, end=" ")
if __name__ == "__main__":
main()
答案 0 :(得分:0)
在split
中使用的token = message.split()
与之相反?是join。如果您将令牌存储在列表中而不是打印它们怎么办?然后,您可以使用join
将结果转换为字符串。