Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Duvida sobre o uso do Elif

print("*********************************")
print("Bem vindo ao jogo de Adivinhação!")
print("*********************************")

numero_secreto = 42

chute_str = input("Digite o seu número: ")
print("Você digitou " , chute_str)
chute = int(chute_str)

acertou = chute == numero_secreto
maior = chute > numero_secreto
menor = chute < numero_secreto

if(acertou):
    print("Parabéns! Você acertou!")
else:
    if(maior):
        print("O seu chute foi maior do que o número secreto!")
    elif(menor):
        print("O seu chute foi menor do que o número secreto!")

print("Fim do jogo")

Eu tenho uma dúvida sobre esta ultima parte do código, eu sei que o ELSE não pode ser usado pois ele não aceita uma condição, ai vem o uso do ELIF que no caso está "ELIF(MENOR):", mas eu testei colocar "IF(MENOR):" no lugar do "ELIF(MENOR):" e o codigo funcionou, existe algum problema em fazer assim ?

1 resposta
solução!

o elif é uma abreviação para

else:
    if (comparação):

seu código no fim esta testando todas as possibilidades. Para o exercício proposto não vai dar problema. mas imagine uma situação onde nunca vai dar positivo para nenhum teste, vc terá problema. o que vc poderia fazer é

if(acertou):
    print("Parabéns! Você acertou!")
 elif(maior):
        print("O seu chute foi maior do que o número secreto!")
 elif(menor):
        print("O seu chute foi menor do que o número secreto!")
else:
    print("algum erro")

ou

if(acertou):
    print("Parabéns! Você acertou!")
else:
    if(maior):
        print("O seu chute foi maior do que o número secreto!")
    elif(menor):
        print("O seu chute foi menor do que o número secreto!")
    else:
    print("algum erro")

Mas no final, não importa a ordem que vc faça os teste. um exemplo que funcionaria

if(maior):
        print("O seu chute foi maior do que o número secreto!")
elif(maior):
        print("O seu chute foi maior do que o número secreto!")
else: #se nao é maior nem menor, então esta certo
        print("O seu chute foi menor do que o número secreto!")