Уведомления

Группа в Telegram: @pythonsu

#1 Июль 30, 2018 16:03:06

underground
Зарегистрирован: 2015-12-17
Сообщения: 16
Репутация: +  0  -
Профиль   Отправить e-mail  

Ошибка после второй итерации

Доброго времени суток уважаемые форумчане!
Помогите пожалуйста, - сам уже все перепробовал…. После второй итерации цикл while вылетает в ошибку:

 Traceback (most recent call last):
  File "C:/Users/Admin/Desktop/Практика по питону/0001/поле чудес.py", line 36, in <module>
    new_shifr = shifr[0:(k-1)] + slovo[(k-1)] + shifr[k:]
IndexError: string index out of range

Фрагмент кода, который выводит в ошибку:
 #Пользователь должен угадатьслово.
import random
i = 0
k = 0
bukva = ""
BANK = ("ведро", "клюква", "звезда", "бумага", "колесо", "камень", "ножницы", "млекопитающее")
slovo = random.choice(BANK)
dlinna = len(slovo)
shifr = "*" * dlinna
new_shifr = ""
vvedennie_bukvi = ""
print("Я загадал слово.")
print("вот оно: \n")
print(shifr)
print()
print("У тебя есть возможность открыть 5 букв. Назови их:\n")
print(slovo)
print(dlinna)
while i < 5:
    bukva = input("Введи свою букву: ")
    vvedennie_bukvi += bukva
    i += 1
    
    if bukva in slovo:
        print("Есть такая буква!!!! \n попытка номер ", i, "\n")
        for j in slovo:
            k += 1
            if j == bukva:
                new_shifr = shifr[0:(k-1)] + slovo[(k-1)] + shifr[k:]
                shifr = new_shifr
        print(shifr)

Помогите пожалуйста разобраться, может я что-то не вижу или не допонимаю…
неделю уже пытаюсь разобраться…

Заранее всем благодарен и признателен за Ваши советы!
С уважением,
Илья

Офлайн

#2 Июль 30, 2018 16:25:58

rami
Зарегистрирован: 2018-01-08
Сообщения: 281
Репутация: +  72  -
Профиль   Отправить e-mail  

Ошибка после второй итерации

Переместите переменную “k” в цикл:

 while i < 5:
    k = 0     #переменная "k" должна обнуляться в цикле при каждом проходе
    # Продолжение кода...

Офлайн

#3 Июль 30, 2018 16:29:16

underground
Зарегистрирован: 2015-12-17
Сообщения: 16
Репутация: +  0  -
Профиль   Отправить e-mail  

Ошибка после второй итерации

Уважаемый rami, СПАСИБО ВАМ ОГРОМНОЕ!!!

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version