Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Erro no código

Não consigo achar onde errei, alguém poderia me ajudar?

def verifica_se_acertou (numero_secreto, chute)
    acertou = numero_secreto == chute.

    if acertou
        puts "Acertou!"
        return true
    else
        maior = numero_secreto > chute.

       if maior
          puts "O número secreto é maior!"
          return false
       else
          puts "O número secreto é menor!"
          return false
       end        
  end
end

dar_boas_vindas
numero_secreto = sorteia_numero_secreto


limite_de_tentativa = 5

for tentativa in 1..limite_de_tentativa
  chute = pede_um_numero (tentativa, limite_de_tentativa)
  if verifica_se_acertou (numero_secreto, chute)
      break
  end
end
4 respostas

Oi Iury,

Qual o erro que acontece quando você executa o programa?

C:/Users/Iury/Documents/maior_menor:27: syntax error, unexpected tIDENTIFIER, expecting keyword_end if acertou

C:/Users/Iury/Documents/maior_menor:33: syntax error, unexpected tIDENTIFIER, expecting end-of-input if maior

solução!

Oi Iury,

Nessas duas linhas tem um ponto final(.), remova esse ponto final:

 acertou = numero_secreto == chute.
maior = numero_secreto > chute.

E nessas duas linhas tem um espaço entre o nome da função e os parentesis:

chute = pede_um_numero (tentativa, limite_de_tentativa)
  if verifica_se_acertou (numero_secreto, chute)

Remova esse espaço, ficando o código assim:

chute = pede_um_numero(tentativa, limite_de_tentativa)
  if verifica_se_acertou(numero_secreto, chute)

Não sei se você postou apenas uma parte do código, mas caso não, notei que estão faltando as definições das seguintes funções: dar_boas_vindas, pede_um_numero e sorteia_numero_secreto.

Bons estudos!

Tinha postado só uma parte sim, muito obrigado pela ajuda.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software