bimka
@bimka
Осваиваю Питон

Почему выводит ошибка IndexError: string index out of range?

Здравствуйте,

задача такова: есть загаданное слово. пользователь вводит с клавиатуры буквы, если введенная буква есть в загаданном слове, то оно открывается.

я придумаю функцию-шифрователь: она представляет слово по буквам в виде кортежа (" - ", " а ").
сначала выводятся на экран первые элементы кортежа (прочерки), по мере отгадывания кортеж полностью заменяется угаданной буквой.

def out(a, b = ''):
	i = 0
	while i < len(a):
		if b.upper() in a[i]:
			a[i] = a[i][1]
		print(a[i][0], end = '')
		i += 1
	print('\n')
	print(a)


Проблема: если в слове есть повторяющиеся буквы, то выводит ошибку:

File "fourthteen.py", line 15, in out
    a[i] = a[i][1]
IndexError: string index out of range


Смысл ошибки понятен, но не понятно почему так происходит, ведь при вводе буквы с клавиатуры кортеж проходится только один раз. Почему так?
  • Вопрос задан
  • 119 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы