1
resposta

Erro print

neste código a opção 3 não imprime correto o resultado

Alguém pode me ajudar ?

bool = True lista = []

while bool: print(""" 1 - Cadastrar Pessoa 2 - Remover Pessoa 3 - Procurar Pessoas 4 - Listar Pessoas 5 - Encerrar Programa Digite a opção desejada: """) n = int(input("> ")) if n == 1: nome = input("\nDigite o nome da pessoa que deseja adicionar: ") lista.append(nome) cpf = input("\nDigite o cpf da pessoa que deseja adicionar: ") lista.append(cpf) altura = float(input("\nDigite a altura da pessoa que deseja adicionar: ")) lista.append(altura) peso = float(input("\nDigite a peso da pessoa que deseja adicionar: ")) lista.append(peso) elif n == 2: nome = input("\nDigite o nome da pessoa que deseja deletar: ") if nome in lista: lista.remove(nome) print(nome,"deletado da lista.") else: print("\nPessoa não está cadastrado na lista.") elif n == 3: cpf = int(input("\n Digite o CPF que deseja localizar: ")) for cpf in lista:

        #print (f'{cpf}')
        print("Nome: ;",nome,"\nAltura: ;",altura,"\nPeso: ;",peso,"\nCPF: ",cpf)

elif n == 4:
    print("\nListar Pessoas:\n")
    for x, y in enumerate(lista):  
        print("\t", x, "-", y)
elif n == 5:
    bool = False
else:
    print("\nOpção inválida.")
1 resposta

Olá,

Acredito que utilizando apenas um vetor com .append você não terá o resultado esperado. Uma solução seria utilizar uma tupla com o cpf na primeira posição e um dicionário na segunda posição

(cpf, {'nome': nome, 'altura': altura, 'peso': peso})

Assim ao procurar pelo cpf você também terá acesso as outras informações.