независимо от того, что вы вводите, я всегда получаю идентификатор, которого нет в списке, пожалуйста

#python #python-3.x

#python #python-3.x

Вопрос:

независимо от того, что вы вводите, я всегда получаю идентификатор, которого нет в списке

 ID = [45, 33, 27, 88, 103, 66, 71] #list
numberSought = input("Please enter ID number to find:") #input whith an input
found = False
n = len(ID)
k= 0
while  found == False and k < n:
    if numberSought  == ID [k]:
        found = True
    k   = 1#  k  = k == k = k   1
if found == True:
    print("ID is in the list at index", k - 1)
else:
    print("ID is not in the list")        
 

Комментарии:

1. Я предполагаю, что это как-то связано с: if numberSought == ID [k]: найдено = True

2. Подсказка: используйте print(type(numberSought))

3. И как только вы поймете, почему комментарий @KrishnaChaurasia решает вашу проблему, попробуйте использовать ID.index(numberSought) вместо сканирования списка самостоятельно. Возможно, вы работаете с примером Python 2? input() Вызов, который вы написали, сработал бы в Python 2.

4. нет, я пытаюсь воссоздать вопросы python из моего псевдо-экзамена

Ответ №1:

Существует гораздо более простой способ сделать то же самое:

 ID = [45, 33, 27, 88, 103, 66, 71] #list
number = int(input("Please enter ID number to find:")) #input whith an input

if number in ID:
    print(f"ID is in the list at index {ID.index(number)}")
else:
    print("ID is not in the list") 
 

Комментарии:

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

2. Посмотрите здесь на рецепт.