2
respostas

no meu quando digito limite_de_tentativas ele da um erro chamado traceback

ele da esse erro e se eu coloco sem o underline ele vai normalmente

insira puts "Bem-vindo ao jogo de adivinhação"
puts "Qual é o seu nome?"
nome = gets
puts "\n\n"
puts "Começaremos o jogo para você, " + nome
puts "Escolhendo um número secreto entre 0 e 200..."
numero_secreto = 175
puts "Escolhido... que tal adivinhar hoje o nosso número secreto"

limite_de_tentivas = 5

for tentativa in 1.. limite_de_tentativas
    puts "\n\n"
    puts "Tentativa " + tentativa.to_s + " de " + limite_de_tentativas.to_s
    puts "Entre com o numero"
    chute = gets 
    puts "\n"
    puts "Será que acertou? Você chutou " + chute

    acertou = numero_secreto == chute.to_i

    if acertou
       puts "acertou"
    else
         maior = numero_secreto > chute.to_i
         if maior
           puts "O número secreto é maior"
         else
             puts "O número secreto é menor"
         end
     end
 endseu código aqui
Bem-vindo ao jogo de adivinhação
Qual é o seu nome?
h


Começaremos o jogo para você, h
Escolhendo um número secreto entre 0 e 200...
Escolhido... que tal adivinhar hoje o nosso número secreto
Traceback (most recent call last):
C:/Users/vinic/Desktop/estudos/programação/maior_ou_menor.rb:12:in `<main>': undefined local variable or method `limite_de_tentativas' for main:Object (NameError)
Did you mean?  limite_de_tentivas
2 respostas

É bem simples. Você errou na hora de escrever...

Veja a primeira variável está escrito limite_de_tenTIVAS

O próprio erro te diz: Did you mean? limite_de_tentivas

Ou seja: "Você quis dizer: limite_de_tentivas"

Enquanto a variável que está dentro do for é limite_de_tentativas

Só alterar a declaração da variável para o nome correto!

Fique mais atento a esse tipo de erro de escrita é muito comum enquanto estamos digitando isto ocorrer!

Além disto também identifique o erro apresentado, pois o que estava faltando no código estava logo ali. Não que não deva perguntar, mas muitas das vezes você vai ficar travado esperando resposta quando uma pequena revisão no código já resolveria o problema!

Boa sorte!

Você precisa revisar o seu código, as variáveis estão como nomes diferentes. Eu corrigi e executei ele aqui, desta forma ele ficou assim:

puts "Bem-vindo ao jogo de adivinhação"
puts "Qual é o seu nome?"
nome = gets
puts "\n\n"
puts "Começaremos o jogo para você, " + nome
puts "Escolhendo um número secreto entre 0 e 200..."
numero_secreto = 175
puts "Escolhido... que tal adivinhar hoje o nosso número secreto"

limite_de_tentativas = 5

for tentativa in 1.. limite_de_tentativas
    puts "\n\n"
    puts "Tentativa " + tentativa.to_s + " de " + limite_de_tentativas.to_s
    puts "Entre com o numero"
    chute = gets 
    puts "\n"
    puts "Será que acertou? Você chutou " + chute

    acertou = numero_secreto == chute.to_i

    if acertou
       puts "acertou"
    else
         maior = numero_secreto > chute.to_i
         if maior
           puts "O número secreto é maior"
         else
             puts "O número secreto é menor"
         end
     end
 end