1
resposta

[Sugestão] Pedra, papel e tesoura

Onde e como poderia limpar/melhorar o código ?

import random
def escolha_computador():
    opcoes = ['Pedra', 'Papel', 'Tesoura']

    escolhido = random.choice(opcoes)
    return escolhido

def opcoes():
    try:
        print('1. Pedra')
        print('2. Papel')
        print('3. Tesoura')
        escolha_usuario = int(input('Escolha uma opção:'))
        processa_escolha(escolha_usuario)

    except ValueError:
        print('Digite um inteiro entre 1 e 3')
        main()


def processa_escolha(escolha_usuario):
    pc = escolha_computador()
    usuario = escolha_usuario

    if usuario == 1:
        resultado = 'Pedra'
    elif usuario == 2:
        resultado = 'Papel'
    elif usuario == 3:
        resultado = 'Tesoura'
    else:
        print(f'Opção {usuario} é invalida, digite uma opção de 1 a 3\n')
        main()
        return

    defini_vencedor(pc, resultado)

def defini_vencedor(computador, usuario):
    if computador == usuario:
        print(f'Computador escolheu:{computador}')
        print(f'Você escolheu {usuario}, Empate')
    elif computador == 'Pedra' and usuario == 'Tesoura':
        print(f'Computador escolheu:{computador}')
        print('Você perdeu')
    elif computador == 'Pedra' and usuario == 'Papel':
        print(f'Computador escolheu:{computador}')
        print('Você ganhou')
    elif computador == 'Tesoura' and usuario == 'Pedra':
        print(f'Computador escolheu:{computador}')
        print('Você ganhou')
    elif computador == 'Tesoura' and usuario == 'Papel':
        print(f'Computador escolheu:{computador}')
        print('Você Perdeu')
    elif computador == 'Papel' and usuario == 'Tesoura':
        print(f'Computador escolheu:{computador}')
        print('Você ganhou')
    elif computador == 'Papel' and usuario == 'Pedra':
        print(f'Computador escolheu:{computador}')
        print('Você Perdeu')

def main():
    opcoes()

if __name__ == '__main__':
    main()
1 resposta

Ola! ficou muito bom, parabéns