Проверьте, равен ли пользовательский ввод индексу элемента в списке

Мне просто интересно, можно ли увидеть, соответствует ли ввод пользователя индексу элемента в списке?

Я пытаюсь сделать что-то вроде этого:

data = ['hello', 'hi', 'hey']

user_choice = int(input("Enter 1,2 or 3: ")
user_answer = user_choice - 1
if user_answer in ....: # How would I finish this off line off?
    result = data[user_answer]
    print(result)
if 0 <= user_answer < len(data)?
mkrieger1 25.12.2020 14:31

Отвечает ли это на ваш вопрос? Если индекс списка существует, сделайте X

mkrieger1 25.12.2020 14:32
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
0
2
622
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий
data = ['hello','hi','hey']

user_choice = int(input("Enter 1,2 or 3: ")
user_answer = user_choice - 1
if user_answer in range(1,len(data)+1): #just give length of data
    result = data[user_answer]
    print(result)

Этот ответ неверен, он не будет работать, если мы введем 1, а также неэффективен. Вместо этого используйте if 0 <= user_answer < len(data), как предложил mkrieger в комментариях.

Roy Cohen 25.12.2020 14:39

@RoyCohen Я заметил это, поэтому я изменил его, но забыл упомянуть здесь. Спасибо, что отметили это для других, которые проверяют этот вопрос

SimpleJay_ 25.12.2020 15:16

Я думаю, вам просто нужно поставить [1,2,3] или range(1,4) в пустое место.

data = ['hello','hi','hey']

user_choice = int(input("Enter 1,2 or 3: "))
user_answer = user_choice - 1
length = len(data)+1
if user_answer in range(1,length): #How would i finish this off line off?
    result = data[user_answer]
    print(result)

Полученные результаты:

Enter 1,2 or 3: 2
hi

Другие вопросы по теме