я обнаружил ошибку недоступного кода при написании кода для назначения - PullRequest
0 голосов
/ 28 апреля 2020

Все, что я делаю задание для игры в слова кувшин. Это часть моего кода, и я обнаружил, что другое слово недоступно. он говорит, что последняя строка - print ("Invalid") недоступна. Может кто-нибудь указать мне, что не так, пожалуйста?

def word_check():
    word = input("Type your guess word -> ")
    word_file = "jug_words.txt"
    found = False
    for line in word_file:
        if word in line:
            found = True


if __name__ == '__main__':
    word_check()
    if True: 
        print("Valid Word")
    else:
        ***print("Invalid word")***

Ответы [ 2 ]

0 голосов
/ 28 апреля 2020

Использование ключевого слова True в операторе if делает оператор else недоступным. Попробуйте вернуть found из word_check() функции и затем использовать это значение в качестве условия if.

Далее, если вы хотите найти слово в текстовом файле, вы должны прочитать текстовый файл.

def word_check():
    word = input("Type your guess word -> ")
    word_file = "jug_words.txt"
    found = False
    with open(word_file, 'r') as my_file:
        for line in my_file.readlines():
            if word in line.strip().split():
                found = True
    return found

if __name__ == '__main__':
    if word_check(): 
        print("Valid Word")
    else:
        print("Invalid word")
0 голосов
/ 28 апреля 2020

Вам нужно вернуть что-то из вашей функции и использовать ее, чтобы проверить, существует слово или нет, вы только что написали, пока True, что здесь не имеет смысла.

def word_check():
    word = input("Type your guess word -> ")
    word_file = "jug_words.txt"
    found = False
    for line in word_file:
        if word in line:
            found = True

    return found

if __name__ == '__main__':
    while True:
        word_check_flg = word_check()
        if word_check_flg: 
            print("Valid Word")
        else:
            print("Invalid word")
            break
...