@Prinlene
Учусь

Ошибка в синтаксисе python — TypeError: list indices must be integers or slices, not str?

friends = ['Сергей', 'Соня', 'Дима', 'Алина', 'Егор']

# присвойте переменной index такое значение,
# чтобы из списка friends была выбрана Алина
index = friends[3]

print('Привет, ' + friends[index] + ', я Анфиса!')


На это питон выдает ошибку

Traceback (most recent call last):
File "main.py", line 7, in
print('Привет, ' + friends[index] + ', я Анфиса!')
TypeError: list indices must be integers or slices, not str
  • Вопрос задан
  • 23725 просмотров
Решения вопроса 1
index = friends[3]

'Алина'

friends['Алина']

list indices must be integers or slices, not str
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
@zyusifov11
print('Привет, ' + index + ', я Анфиса!')
Ответ написан
Комментировать
delvin-fil
@delvin-fil
Crazy Linux-admin
Кто нибудь вообще читает TypeError?
Там же "русским" языком написано: "Индексы могут быть числом или срезом, НЕ СТРОКОЙ"
А у вас что?
В
index = friends[3]
вы получаете переменную типа string, а затем пытаетесь подставить СТРОКУ в индекс списка
print('Привет, ' + friends[index] + ', я Анфиса!') #friends[index]
Вам ДВА человека за два часа дали правильный ответ. Сразу два!
Вам трудно скопипастить код ошибки и перевести в гугло-яндексе?
Ответ написан
Комментировать
@beng93
Возможно, кому-то решение еще будет полезно)

Переменной index просто нужно присвоить целочисленное значение 3 и задача будет решена, т.к. произойдет индексирование по списку friends и будет выбрано имя "Алина".

По условиям задачи строку print менять нельзя.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы