Olá, Cauã! Como vai?
Parabéns pela resolução da atividade!
Observei que você explorou o uso de listas e dicionários para organizar as opções e regras do jogo, utilizou muito bem funções para estruturar a lógica de forma clara e ainda compreendeu a importância do controle de fluxo para validar entradas e determinar o resultado corretamente.
Uma dica interessante para o futuro é importar o módulo random no início do código para evitar erros de execução. Assim:
import random
OPCOES = ['Pedra', 'Papel', 'Tesoura']
VENCE = {'Pedra': 'Tesoura', 'Tesoura': 'Papel', 'Papel': 'Pedra'}
def resultado(jogador, computador):
if jogador == computador:
return 'Empate'
return 'Você ganhou!' if VENCE.get(jogador) == computador else 'Computador ganhou!'
def pedra_papel_tesoura():
while True:
escolha_usuario = input("Escolha: pedra, papel ou tesoura? ").strip().title()
if escolha_usuario not in OPCOES:
print('Opção inválida.')
continue
escolha_computador = random.choice(OPCOES)
print(f"Computador escolheu: {escolha_computador}")
print(resultado(escolha_usuario, escolha_computador))
break
if __name__ == '__main__':
pedra_papel_tesoura()
Isso faz o programa rodar sem problemas e garante que o sorteio da jogada do computador funcione corretamente.
Fico à disposição! E se precisar, conte sempre com o apoio do fórum.
Abraço e bons estudos!
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!