Найти - Пользователи
Полная версия: Ошибка после второй итерации
Начало » Python для новичков » Ошибка после второй итерации
1
underground
Доброго времени суток уважаемые форумчане!
Помогите пожалуйста, - сам уже все перепробовал…. После второй итерации цикл 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)

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

Заранее всем благодарен и признателен за Ваши советы!
С уважением,
Илья
rami
Переместите переменную “k” в цикл:
 while i < 5:
    k = 0     #переменная "k" должна обнуляться в цикле при каждом проходе
    # Продолжение кода...
underground
Уважаемый rami, СПАСИБО ВАМ ОГРОМНОЕ!!!
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