缺少一件事来完成问题集6 cs50

时间:2019-02-26 22:45:47

标签: cs50

以下是说明: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()

1 个答案:

答案 0 :(得分:0)

split中使用的token = message.split()与之相反?是join。如果您将令牌存储在列表中而不是打印它们怎么办?然后,您可以使用join将结果转换为字符串。