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

Formatação de strings

tentativas = 5

while (tentativas > 0):
    print(f'Você tem um total de: {tentativas} tentativas')
    numero_secreto = 43
    chute = int(input("Digite o seu numero: "))  # conversão de string para int
    
    if numero_secreto == chute:
        print("Numero correto! Você acertou ein")
        break
    elif chute > numero_secreto:
        print('Errou! O numero digitado é maior que o numero secreto. Continue...')

    elif chute < numero_secreto:
        print("Errou! Numero digitado é menor que o numero secreto. Continue...")


    tentativas = tentativas - 1

print('GAME OVER')

Nesse exemplo, eu usei {} sem o .format() e funcionou. Também achei que é mais concisa e mais prática. Não sei se é uma boa prática e está errado. Outra coisa, é que se o jogador acertar, o loop ainda continua. Então usei o 'Break' pra se caso ele acertar, o jogo finaliza.

1 resposta
solução!

Oi Alex, tudo bem?

A forma como você utilizou a formatação de strings está correta. É possível utilizar as f-strings, que é uma forma mais concisa e prática de formatar strings. Você pode utilizar as chaves diretamente dentro da string e colocar o valor que deseja substituir dentro delas, sem a necessidade do método .format().

Por exemplo, no seu código, você utilizou a f-string corretamente ao escrever print(f'Você tem um total de: {tentativas} tentativas'). Isso faz com que o valor da variável tentativas seja inserido na string no lugar das chaves.

Quanto à sua dúvida sobre o jogo continuar mesmo após o jogador acertar, você está correto em utilizar o break para finalizar o loop quando o jogador acertar o número secreto. Dessa forma, o jogo será encerrado assim que o jogador acertar.

Um abraço e bons estudos.

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