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

queria achar o erro ;(

print("$$$$$$$$$$$$$$$$$$$$$$$$$$$")
print("BEN VENIDO AO JoGo")
print("$$$$$$$$$$$$$$$$$$$$$$$$$$$")

Numero_paraacertar = float(42.0)
total_de_tentativas = float(3)


for rodada in range (1,  int(total_de_tentativas)) :
     print("tentativa {} de {}".format(rodada, total_de_tentativas))
     chute_str = input("digite seu chute: ")
     print("Vôçê digitou :" , chute_str)
     chute = float(chute_str)

     if(chute != float & chute < 100 & chute > 1):
      print("So numeros hein")
     continue

     acertou  = (chute == Numero_paraacertar)
     menorQue = (chute < Numero_paraacertar)
     maiorQue = (chute > Numero_paraacertar)

     if(acertou):
        print("voçê acertou !!!!!!!$$$$$$!!!!!! E Fim de Papo")
        break
     elif(menorQue):
      print("tá mai pra cima em ________Reseta ae Doido")
     elif(maiorQue):
      print("tá mais pra baixo em ########(nuvems pra quem não viu o obvio) Aconselho o Resetamento" )


print("total de rodadas para ganhar = {},total de tentativas = {}", rodada, total_de_tentativas)
print("fim do jogo")
4 respostas

Olá Felipe!

Qual é o erro que está dando?

Oi, Felipe! No if da linha 15 você faz a comparação chute != float. Acontece que chute é do tipo float, mas float é uma classe, sendo assim do tipo type. No Python 3, você não pode fazer comparações entre esses dois tipos, já que é um comportamento que não faria sentido. Não entendi muito bem o que você pretendia, mas você pode me explicar pra gente solucionar tudo direitinho!

solução!

Felipe, executei seu código e identifiquei os erros:

1 - Não dá para você fazer a comparação chute != float direta. Você precisa deixar explicito para o Python que quer comparar tipos. Para isso faça:

if(type(chute) != float)

2- Outro erro identificado é que você estava utilizando o operador de forma errada. Ao invés de "&" utilize "and", ou seja:

Troque isso:

if(chute != float & chute < 100 & chute > 1): 

Por isso:

if(type(chute) != float and chute < 100 and chute > 1):

3 - Ainda com as correções de código existe um erro de lógica pois antes do if você converte o chute para float então ele nunca será diferente de float, consequentemente seu código nunca irá entrar no if.

Como você quer capturar se o usuário digitou ou não um numero recomendo que verifique isso direto na conversão:

     try:
         chute = float(chute_str)
     except:
         print("Número invalido!")

Espero ter ajudado! :D

Era isso mesmo guilherme vlw demais !!!!