1
resposta

[Projeto] Minha resposta

import random

#sao 3 listas para pedra papel e tesoura, dessa forma, cada lista automaticamente ja faz o usuario setar o valor, e o bot so prec
#assim acho q fica mais facil do bot ler doq varios if e elses
PEDRA = ['Tesoura',
         'Pedra',
         'Papel']
PAPEL = ['Pedra',
         'Papel',
         'Tesoura']
TESOURA = ['Papel',
           'Tesoura',
           'Pedra']

LISTA_JOGADAS = [PEDRA,PAPEL,TESOURA]
NOMES = ['Pedra','Papel','Tesoura']

vitorias_ppt = 0
derrotas_ppt = 0
empates_ppt = 0

def jogo_ppt(): #aqui o user escolhe a jogada dele, e com base nela escolhemos qual lista vamos usar para comparar se ganhou ou perdeu
    while True:
            try:
                print('Vamos lá, você já sabe as regras')
                escolha_do_jogador = int(input('Escolha sua jogada:\n' \
                '1.Pedra\n' \
                '2.Papel\n' \
                '3.Tesoura\n'))
                if escolha_do_jogador not in (1, 2 ,3):
                    print('Escolha uma opção válida')
                    continue

                return escolha_do_jogador - 1
                
                
            
            except ValueError:
                print('Digite apenas números!')
                continue
def resultado_ppt(escolha_do_jogador):#aqui usamos a escolha da funçao jogo_ppt para determinar o resultado do combate

    global vitorias_ppt, empates_ppt, derrotas_ppt 

    nome_escolha = NOMES[escolha_do_jogador]
    parametro_avaliado = LISTA_JOGADAS[escolha_do_jogador]
        

    jogada_bot = random.randint(0,2)

    escolha_bot = parametro_avaliado[jogada_bot]
    if jogada_bot == 2 :
        print(f'Você jogou {nome_escolha} e eu joguei {escolha_bot} hahaha,quem é o bot aqui?')
        derrotas_ppt += 1
    elif jogada_bot == 1:
        print (f'Você jogou {nome_escolha} e eu joguei {escolha_bot}, dessa vez empatamos!')
        empates_ppt += 1
    else:
        print(f'Você jogou {nome_escolha} e eu joguei {escolha_bot}, parece que perdi dessa vez!')    
        vitorias_ppt += 1

def loop_ppt(): #esse e o loop do pedra papel tesousa  
    while True:
        escolha_do_jogador = jogo_ppt()
        resultado_ppt(escolha_do_jogador)
        
        print(f'Vitórias:{vitorias_ppt}\nDerrotas:{derrotas_ppt}\nEmpates:{empates_ppt}\n')
        replay = input('Deseja jogar novamente?')
        if replay.lower() in ['s','sim']:
            continue
        break
1 resposta

Oi, Luís! Como vai?

Agradeço por compartilhar.

Gostei da sua solução, principalmente da ideia de usar listas pra representar as jogadas e evitar muitos if e else, isso deixa o código mais organizado e fácil de entender. Também é importante notar como você separou bem as responsabilidades usando funções, o que mostra um bom cuidado com a estrutura do projeto.

Continue explorando essas abordagens e testando variações, isso fortalece muito seu raciocínio lógico e sua autonomia na programação.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!