Элемент, пропускающий счетчик и не увеличивающийся во время цикла for

#python #arrays #for-loop #counter #linear-search

#python #массивы #for-цикл #счетчик #линейный поиск

Вопрос:

Итак, я кодирую базовую систему входа в систему для своего класса, и я использую цикл for и счетчик для линейного поиска по списку. Однако, когда я ввожу имя пользователя, которое должно быть правильным, оно возвращается как несанкционированное. Я пробовал печатать счетчик между каждым проходом цикла и обнаружил, что, хотя диапазон равен (0,6), он учитывает только до трех?

изображение кода, оболочки и сообщения об ошибке

 import random

userver = 0
userList = ["Arabella12", "Constance01", "Hugo11", "James09", "Jane12", "Max06", "Ted04"]
pwrdList = ["bella12", "1234", "HGWel!", "j@me£S", "Password", "notpassword", "ted4"]
found = False
pfound = False

def login():
    username = input("Type in your username ")
    index1 = 0
    wrong = 0
    found = False
    c3 = 0
    print("index one before c3 loop=", index1)  #delete after testing
    for c3 in range(0, 6): #username check counter
        if username == userList[c3]:  #if username is found with the counter c3
            found = True  #making the key for the next part of the code true
            index = s(c3)
            print(index," is the index")
            c3 = c3   1
            break
        elif found == False:
            print("c3: ", c3)  #checking counter- delete after debugging
            print("unauthorised user...attempting again")  #if username isnt present
            c3 = c3   1  #upping the counter
            exit

login()
 

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

1. Почему вы «повышаете счетчик», а не просто позволяете for циклу развиваться самостоятельно? Возможно, вам нужно больше прочитать о for циклах в Python .

2. Какой смысл использовать exit внутри цикла for?

3. Вы вмешиваетесь в счетчик — не увеличивайте его «вручную».

Ответ №1:

Диапазон неверен, потому что вы используете вместо " . Также вам не нужно использовать exit в elif и увеличивать счетчик — это делается автоматически