Найти - Пользователи
Полная версия: Программа пропускает часть кода и завершает программу.
Начало » Python для новичков » Программа пропускает часть кода и завершает программу.
1
the_hari
Всем привет. Начал изучать Python 3 (версия 3.7). Изучаю по книге Свейгарт Э. 4 издание. Там есть пример создания игры Виселица. Проблем в том, что когда программа запрашивает ввод буквы от пользователя, либо завершает программу, если буква не правильная, либо если хотя бы 1 буква слова угадана, выводит сообщение, что вы выиграли, хотите ли повторить? Перепроверил код несколько раз. Все сходится. Уже переписал прям с книги. Запускал Debugger. При выполнении, программа пропускает блок, который должен выводит не правильную букву, и просить ввести другую. Прикладываю данный код. Подскажите, куда копать? Где ошибка?
Egorro13
the_hari
Прикрепленный код просто падает после первого ввода с ошибкой:
NameError: name ‘alreadyGuessed’ is not defined
alredyGuessed != alreadyGuessed
Если исправить, вроде почти работает, хотя еще и отступы понаставлены местами неправильно, например:
         foundAllLetters = True
        for i in range(len(secretWord)):
            if secretWord[i] not in correctLetters:
                foundAllLetters = False
                break
            if foundAllLetters:
                print('Да! Секретное слово - "' + secretWord + '"! Вы угадали!')
                gameIsDone = True
Если первая буква найдена, выводится ‘Да! Секретное слово - “’ + secretWord + ‘”! Вы угадали!’, хотя вроде как эта проверка должна выполняться не при каждом проходе цикла, а после него. И с завершением игры, на глаз, тот же косяк - она просто никогда не завершается…
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB