Quando pensamos em estruturas de repetição, logo lembrados do For e do While, mas você sabe qual a diferença entre eles?
For
O for utilizamos quando sabemos onde parar.
Por exemplo, contar até 3
for i in range(0,3):
print(i)
na leitura do primeiro for a saída será 0, na segunda leitura será 1 e na terceira vez que o for foi rodado, a saída será 2.
Começamos a contagem sempre em 0 e o número após a vírgula será quantas vezes o for deve ser executado.
While
O while utilizamos quando existe uma condição lógica de parada.
Por exemplo, criei a variável senha para que o usuário digite a senha.
O usuário pode digitar o que ele quiser, que ele nunca sairá do looping infinito que é o while, ate que ele digite a senha correta ou apele e feche o programa rs
a senha correta neste exemplo é amanda, e eu poderia usar apenas um if com a senha correta e o break para para o script e o else para se qualquer coisa digitada que nao seja
amanda, irá aparecer a mensagem de "senha errada".
E com isso, podemos entender melhor a estrutura do if. Sempre começaremos com o if .
Toda essa estrutura precisa estar dentro do while conforme exemplo abaixo:
while True:
senha = input("Digite a senha: ")
if senha == "alfredo":
print("senha errada")
elif senha == "amanda":
print("senha correta")
break
elif senha == "tunico":
print("senha errada")
else:
print("Senha errada")
While e função def
def analiseidade(idade):
if idade <= 12:
classificacao = 'criança'
elif idade >= 13 and idade <= 19:
classificacao = 'adolescente'
elif idade >= 20 and idade <= 64:
classificacao = 'adulto'
else:
classificacao = 'idoso'
return classificacao
continuar = 's' # Inicializa a variável para entrar no loop
while continuar.lower() == 's': # Continua enquanto o usuário digitar 's' ou 'S'
idade = int(input("Digite a idade: "))
# Chama a função e armazena o resultado na variável classificacao
classificacao = analiseidade(idade)
# Exibe a classificação
print(f"A classificação da idade recebida é: {classificacao}")
# Pergunta ao usuário se deseja continuar
continuar = input("Deseja continuar? (s/n): ")
# Verifica se a entrada é válida
while continuar.lower() not in ['s', 'n']:
continuar = input("Entrada inválida. Deseja continuar? (s/n): ")
print("Programa encerrado.")