Ir ao conteúdo

Posts recomendados

Postado

Bom dia,

estou tentando montar um programa no Python para gerar um numero aleatório e inserir um número para tentar acertar o número aleatório. No primeiro input coloco a string 'Digite um número'. quando não acerta na primeira vez, como faço para o próximo input aparecer a expressão 'Tente outra vez' até acertar?

Segue meu código inicial:

import random
aleatório = random.randint(1, 11)
while chute == True:
  chute = int(input('Chute um número de 1 a 10: '))
  chute = True
  if aleatório > chute:
    print('chutou baixo')
  elif aleatório < chute:
    print('chutou alto')
  elif aleatório == chute:
    chute == False
    print('acertou')

 

Postado

O chute e o número aleatório devem ser do mesmo tipo int. Seu loop não precisa ter um critério com a variável, é só deixar infinito (while True) para sair com break quando acertar, p.ex,

if aleatorio > chute:
    print('chutou baixo')
elif aleatorio < chute:
    print('chutou alto')
else:
    print('acertou')
    break

 

E para gerar um número entre 1 e 10 deve ser randint(1, 10)

Postado

Obrigado Midori,

Ficou mais claro os comandos. Mas eu não expliquei direito.

No primeiro 'input', que recebe o chute, programei para aparecer 'Digite um número de 1 a 10: '

No caso do chute não acertar o número aleatório, gostaria que a próxima mensagem fosse 'tente outra vez' ao invés de ficar repetindo 'Digite um número de 1 a 10' até que o chute acerte .

ex de como aparece as respostas:

 

Chute um número de 1 a 10: 6

chutou baixo

Chute um número de 1 a 10: 7

chutou baixo

Chute um número de 1 a 10: 8

acertou

Gostaria que ficasse assim (marquei em negrito):

 

Chute um número de 1 a 10: 6

chutou baixo

Tente outra vez: 7

chutou baixo

Tente outra vez: 8

acertou

 

Postado

@GustavoT Com uma variável para a mensagem você trocar o texto na condição, p.ex,

 

import random

aleatorio = random.randint(1, 10)
mensagem = 'Chute um número de 1 a 10: '

while True:
    chute = int(input(mensagem))
    if aleatorio > chute:
        mensagem = 'chutou baixo\nTente outra vez: '
    elif aleatorio < chute:
        mensagem = 'chutou alto\nTente outra vez: '
    else:
        print('acertou')
        break

 

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!