We can create a list of names that will be allowed:
ALLOWED_NAMES = ["maria"]
Note that the name is all in low box. It is important for a future validation.
We define the variable nome
and read as long as the value does not belong to the list of allowed names:
nome = ""
# Enquanto o nome for inválido:
while nome.lower() not in ALLOWED_NAMES:
# Pergunta o nome do usuário:
nome = input("Coloque seu nome: ")
# Verifica se o nome é permitido:
if nome.lower() not in ALLOWED_NAMES:
print("Usuário não permitido")
Do you realize that in the while
we verify the value of nome.lower()
? This is so that the user can type variations of the same name: maria, maria, maria, etc. For validation, we convert the name to lower box and check if it belongs to the list. Only when the name is valid, we continue the program.
Complete code
ALLOWED_NAMES = ["maria"]
nome = ""
# Enquanto o nome for inválido:
while nome.lower() not in ALLOWED_NAMES:
# Pergunta o nome do usuário:
nome = input("Coloque seu nome: ")
# Verifica se o nome é permitido:
if nome.lower() not in ALLOWED_NAMES:
print("Usuário não permitido")
# Pergunta o CPF:
cpf = input("Coloque seu CPF: ")
# Pergunta o endereço:
endereco = input("Coloque seu endereço: ")
# Pergunta a idade:
idade = input("Coloque sua idade: ")
# Pergunta a altura:
altura = input("Coloque sua altura: ")
# Pergunta o telefone:
telefone = input("Coloque seu telefone: ")
print (nome, "você tem", idade, "anos e", altura, "de altura.")
print("Seu telefone é: ", telefone)
print("Seu CPF é: ", cpf)
print("Seu endereço é: ", endereco)
See working on Repl.it.
Note: Keeping the allowed names in a list is not trivial to the logic itself, it just keeps the program easy to expand to situations if more than one name is allowed. If Paul become an allowed name, simply add it to the list and no longer write lines of code implementing a new one if else
.