Я написал код для bleep.py из набора 6 CS50, но я не получаю ожидаемый результат, и я не могу найти ошибку в программе - PullRequest
0 голосов
/ 08 октября 2019

CS50 Pset 6 код bleep.py не возвращает ожидаемый результат

Я пытался напечатать значения переменных почти везде.

Одна часть программы, в которой они не печатаются, находится внутри ветви IF с условием BWord == TWord

(Программа никогда не входит в эту ветку, даже если BWord и TWord являютсято же самое).

    from cs50 import get_string
        from sys import argv


        def main():
            if len(argv) != 2:
                print("Usage: python bleep.py <filename>")
                exit(1)
            text = get_string("Enter your text here: ")
            filename = argv[1]
            fileheader = open(filename, "r")
            Word = fileheader.readline()
            BannedWords = []
            while Word != "":
                BannedWords.append(Word)
                Word = fileheader.readline()
            fileheader.close()
            TWords = text.split()
            OutString = ""
            for TWord in TWords:
                WFound = False
                NewWord = ""
                for BWord in BannedWords:
                    if BWord == TWord:
                        WFound = True
                        length = len(TWord)
                        for number in range(length):
                            NewWord = NewWord + "*"
                        break
                if WFound == False:
                    NewWord = TWord
                if OutString == "":
                    OutString = OutString + NewWord
                else:
                    OutString = OutString + " " + NewWord
            OutString = OutString + "\n"
            print(OutString)

        if __name__ == "__main__":
            main()

Используя banned.txt, предоставленный курсом, при вводе «darn it» я должен получить вывод «**** it», но вместо этого я получаю «darn it»как есть.

...