"i"é alguma palavra reservada em Python?

Não sei se tem algo haver. Mas to colocando um contador com a variável “i”. Desta forma i = i + 1, mas ele fica louco. Começa em 1, depois vai pra zero, outra hora vai pra 3. Não segue uma sequencia tipo 1, 2 ,3 ,4…
Achei que fosse a forma de colocar i = i + 1, então troquei por i+=1, não resolveu nada. Então mudei o nome da variável por “incremento” e funcionou.

Não tem outra variável com a letra "i"no código.

Pode colocar o trecho de código onde isso acontece? Com o problema acontecendo.

As vezes é algo simples que não estou vendo. Testa assim, insira uns 2 clientes, depois manda imprimir e volte a inserir outro cliente. O contador não é sequencial. Mas se mudar o nome da variável, funciona normal.

Contas = {'cod': [], 'saldo': [], 'tr': []}
Clientes = {'cod': [], 'nome': [], 'tel': [], 'cc': []}
numClientes = 0
i = 1

ok1 = True
while ok1:

    print("")
    print("1 - Inserir novo cliente")
    print("2 - Imprimir lista de clientes")
    print("6 - Sair")

    menuCliente = input("\nDigite o numero da opçao desejada: ")

    ## Sair do menu cliente ----------------------------------------------------------------------//
    if menuCliente == '6':
        ok1 = False

    ## 1 - Inserir novo cliente ------------------------------------------------------------------//
    if menuCliente == '1':

        if numClientes < 50:

            cod = int(i)
            nome = input("Informe o nome do cliente: ")
            tel = input("Informe o telefone do cliente: ")
            cc = input("Informe o numero da conta corrente do cliente: ")
            pdeposito = input("Informe o valor do deposito inicial: ")
            pdeposito = float(pdeposito)

            Clientes['cod'].append(cod)
            Clientes['nome'].append(nome)
            Clientes['tel'].append(tel)
            Clientes['cc'].append(cc)
            Contas['cod'].append(cc)
            Contas['saldo'].append(pdeposito)

            numClientes = numClientes + 1
            i = i + 1                
        else:
            print("\nNumero maximo de clientes atingido!!")


    ## 5 - Imprimir lista de clientes -----------------------------------------------------//
    if menuCliente == '2':

        print("Codigo \t Nome \t\t Telefone \t Conta \t Saldo")
        print()

        for i in range(numClientes):
            print("{0} \t {1} \t {2} \t {3} \t {4}".format(Clientes['cod'][i], Clientes['nome'][i],
                                                           Clientes['tel'][i], Clientes['cc'][i],
                                                           Contas['saldo'][i]))

# FIM do Menu Cliente --------------------------------------------------------------------------//

print("Finalizando...")

O erro ocorre porquê você está reutilizando a variável i dentro de um contexto em que não deveria, ao utilizá-la na iteração para imprimir os clientes ela perde o valor carregado anteriormente pelo ato de cadastrar um cliente.

Altere o nome da variável de iteração do laço e o comportamento vai ficar como você espera!

Exemplo:

for cont in range(numClientes):
    print("{0} \t {1} \t {2} \t {3} \t {4}".format(Clientes['cod'][cont], Clientes['nome'][cont], Clientes['tel'][cont],  Clientes['cc'][cont], Contas['saldo'][cont]))
1 curtida

Nossa, nem percebi que tinha a variável na iteração do for. Valeu, obrigado.