Olá, tudo bem? Quando uso else? Quando uso elif? Quando estou criando um laço, não tenho a certeza de qual dos dois escolho. Alguém consegue detalhar mais sobre?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Olá, tudo bem? Quando uso else? Quando uso elif? Quando estou criando um laço, não tenho a certeza de qual dos dois escolho. Alguém consegue detalhar mais sobre?
Imagina que você queira criar saudações diferentes baseado no sexo da pessoa. Seu sistema é um pouco mais antigo e tem algo assim.
pessoa = ("Julio", "m")
if (pessoa[1] == "m"):
print(f"O {pessoa[0]} é uma pessoa muito legal")
else:
print(f"A {pessoa[0]} é uma pessoa muito legal")Como os únicos dois sexos eram 'f' ou 'm', se não for 'm' ele só pode ser 'f', então nesse caso você usuaria o else. Agora sua empresa pediu para você adaptar o seus sistema para lidar com o público mais atual e utilizar o gênero da pessoa, tendo que aceitar não binários como um gênero. Então você faz a mudança:
pessoa = ("Julio", "m")
if (pessoa[1] == "m"):
print(f"O {pessoa[0]} é uma pessoa muito legal")
elif (pessoa[1] == "f"):
print(f"A {pessoa[0]} é uma pessoa muito legal")
else:
print(f"E {pessoa[0]} é uma pessoa muito legal")O else sempre vai ser executado se a condição do if não for satisfeita. O elif, é executado se a condição do if não for satisfeita e se a condição dele próprio for aceita. Se você tem familiaridade com C é similar a sintaxe1 do C else if (condicao) { codigo }
Olá Matheus, ainda sou iniciante na parte de programação, mas acho que posso te ajudar.
Usando um exemplo de uma restrição do input. Suponha que se o valor for menor que 0 você deva printar "Valor negativo", Suponha também que deva printar "Zero", quando o valor do input for "0", Suponha agora que se o valor for positivo e par você deva printar "Valor positivo par", E por fim, printar "Valor positivo ímpar" para o caso de um valor maior que 0 e ímpar.
O código ficaria algo como:
numero = int(input("Digite um valor: ")
if(numero < 0):
print("Valor negativo")
elif(numero == 0):
print("Zero")
elif(numero > 0 and numero %2 == 0"):
print("Valor positivo par")
else:
print("Valor positivo ímpar")A diferença entre o elif e else nesse caso são: que para o else, nesse caso não há outra escolha senão um número ímpar e positivo, devido os elifs usados anteriormente, mas isso pode variar de acordo com a sua preferência.
Espero ter ajudado, e caso eu esteja errado, alguém me corrija, por favor.