Ir ao conteúdo

Posts recomendados

Postado

Bom dia! estou fazendo um exercício de programar um "jogo" de pedra, papel e tesoura e me surgiu duas dúvidas sobre:


1- tem como usar dois comandos elif na mesma linha? Pergunto isso por causa das condições que o Python tem que printar e não ter que usar muitas linhas

 

elif jogada1 == 0 and jogada2 == 1:
    print('Papel ganha de pedra')
elif jogada2 == 1 and jogada1 == 0:
    print('Papel ganha de pedra')


Eu só consigo fazer que ele printe quem venceu dessa forma, se eu deixar apenas o 1 elif ele não interpreta se a jogada2 por pedra e a jogada1 for papel, tem como aplicar duas funções na mesma linha?


2- como fazer o programa printar Pedra no lugar do 0, Papel no lugar de 1 e tesoura no lugar do 3?

  • Curtir 1
Postado

Para simplificar você pode usar um dicionário, p.ex,

 

pedra = 0
tesoura = 1
papel = 2

jogada = {
    pedra: tesoura,
    tesoura: papel,
    papel: pedra
}

 

Assim a chave tem como valor as jogadas vitoriosas e a condicional só terá dois testes.

  • Amei 1
Postado
3 horas atrás, Midori disse:
jogada = {
    pedra: tesoura,
    tesoura: papel,
    papel: pedra
}

Boa noite @Midori obrigado pela sua explanação, mas não sei aplicar esse algoritmo se tiver tempo poderia me mostrar um exemplo?

  • Curtir 1
Postado
Em 10/09/2022 às 05:47, devair1010 disse:

@Barea    poste seu código completo , para vermos como está e em que podemos ajudar .

 

print ('[0]=Pedra, [1]=Papel e [2]=Tesoura')

pedra = 0

papel = 1

tesoura = 2

jogada=int(input("Qual a sua primeira escolha? "))

jogada2=int(input('Qual a sua segunda escolha? '))

resultado={pedra: tesoura, tesoura: papel, papel: pedra}

if jogada == jogada2:

    print('Empate')

elif jogada==0 and jogada2==1 or jogada==1 and jogada2==2:

    print("Papel ganha de pedra")

elif jogada==1 and jogada2==2 or jogada==2 and jogada2==1:

    print("Tesoura ganha de papel")

elif jogada==2 and jogada2==0 or jogada2==2 and jogada==0:

    print("Pedra ganha de Tesoura")
  • Obrigado 1
Postado

@Barea Esses testes/elif não são necessários, com o dicionário só precisa de um.

 

Em 10/09/2022 às 20:08, Barea disse:
resultado={pedra: tesoura, tesoura: papel, papel: pedra}

 

Aí estão as jogadas vitoriosas, então é só passar para dicionário e verificar com a outra, p.ex,

if resultado[jogada1] == jogada2:
    print("Jogador 1 venceu")
else:
    print("Jogador 2 venceu")

 

E se quiser mostrar o tipo que venceu você pode usar uma lista e colocar a jogada como índice.

  • Curtir 1
  • Amei 1
  • mês depois...

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...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!