Уведомления

Группа в Telegram: @pythonsu

#1 Июнь 30, 2012 18:29:07

Light3JIbqp
От:
Зарегистрирован: 2012-03-08
Сообщения: 23
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблема с игрой "Виселица"

Когда правельно ввожу букву выдает ошибку.
Помогите найти ошибку в коде

import random
HANGMAN = (
"""
------
|    |
|
|
|
|
|
|
---------
""",
"""
------
|    |
|    0 
|
|
|
|
|
---------
""",
"""
------
|    |
|    0 
|
|
|
|
|
---------
""",
"""
------
|    |
|    0 
|
|
|
|
|
---------
""",
"""
------
|    |
|    0 
|
|
|
|
|
---------
""",
"""
------
|    |
|    0 
|    |
|
|
|
|
---------
""",
"""
------
|    |
|    0 
|    |
|    |
|   |
|   |
|
---------
""",
"""
------
|    |
|    0   
|    |
|    |
|   | |
|   | |
|
---------
""")
MAX_WRONG = len(HANGMAN) - 1
WORDS = ("PYTHON", "DJANGO")
word = random.choice(WORDS)
so_far = "_" * len(word)
wrong = 0
used = []
print("Добро пожаловать в игру 'виселица'. Удачи вам!")
while wrong < MAX_WRONG and so_far != word:
    print(HANGMAN[wrong])
    print("\nВы уже предлогали следующие буквы:\n", used)
    print("\nОтгаданное вами в слове сейчас выглядит так:\n", so_far)
    guess = input("\n\nВведите букву: ")
    guess = guess.upper()
    while guess in used:
        print("Вы уже предлогали букву", guess)
        guess =  input("\n\nВведите букву: ")
        guess = guess.upper()
    used.append(guess)
    if guess in word:
        print("\nДа! Буква", guess, "есть в слове!")
        for i in range(len(word)):
            if guess == word[i]:
                new += guess
            else:
                new += so_far[i]
        so_far = new
    else:
        print("\nК сожалению, буквы", guess, "нет в слове")
        wrong += 1
if wrong == MAX_WRONG:
    print(HAGMAN[wrong])
    print("\nВас повесили!")
else:
    print("\nВы отгадали!")
print("\nБыло загадано слово", word)
input("Enter")



Отредактировано Light3JIbqp (Июнь 30, 2012 18:47:31)

Офлайн

#2 Июнь 30, 2012 20:16:53

fata1ex
От:
Зарегистрирован: 2009-07-11
Сообщения: 732
Репутация: +  52  -
Профиль   Отправить e-mail  

Проблема с игрой "Виселица"

Light3JIbqp, может начать лучше с русского языка?
Какую ошибку вам выдаёт?

Light3JIbqp
new += guess
Откуда берётся new? Перед циклом добавьте new = ''.

Light3JIbqp
print(HAGMAN)



Офлайн

#3 Июнь 30, 2012 20:23:51

Light3JIbqp
От:
Зарегистрирован: 2012-03-08
Сообщения: 23
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблема с игрой "Виселица"

Все ясно



Отредактировано Light3JIbqp (Июнь 30, 2012 20:24:34)

Офлайн

#4 Июнь 30, 2012 20:24:47

Light3JIbqp
От:
Зарегистрирован: 2012-03-08
Сообщения: 23
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблема с игрой "Виселица"

fata1ex
Light3JIbqp, может начать лучше с русского языка?
Какую ошибку вам выдаёт?

Light3JIbqp
new += guess
Откуда берётся new? Перед циклом добавьте new = ''.

Light3JIbqp
print(HAGMAN)

Спасибо



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version