Мне просто интересно, можно ли увидеть, соответствует ли ввод пользователя индексу элемента в списке?
Я пытаюсь сделать что-то вроде этого:
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)
Отвечает ли это на ваш вопрос? Если индекс списка существует, сделайте X
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 в комментариях.
@RoyCohen Я заметил это, поэтому я изменил его, но забыл упомянуть здесь. Спасибо, что отметили это для других, которые проверяют этот вопрос
Я думаю, вам просто нужно поставить [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
if 0 <= user_answer < len(data)
?