No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

隆Conoce otros proyectos de este curso!

36/37

Aportes 42

Preguntas 4

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

o inicia sesi贸n.

Lo m谩s importante es atreverse y dejar el miedo a fallar. Los desaciertos son solo una oportunidad de mejorar 馃敟

Do it, and do it again, but never give up 馃挭

Hola, compart贸 el juego donde permite que el user iteractue con el prompt y tenga tres intentos, a lo 煤ltimo este totaliza y muestra si gano, empato o perdio.

import random

# Define the options
options = ('piedra', 'papel', 'tijera')
counter = 0
empate = 0
perdiste = 0
ganaste = 0

# Define the results dictionary
results = {
  'piedra': {
    'piedra': 'empate',
    'papel': 'perdiste',
    'tijera': 'ganaste'
  },
  'papel': {
    'piedra': 'ganaste',
    'papel': 'empate',
    'tijera': 'perdiste'
  },
  'tijera': {
    'piedra': 'perdiste',
    'papel': 'ganaste',
    'tijera': 'empate'
  }
}

# Prompt the user to choose an option
print("Escoge una opci贸n:")
for i in range(3):
  for index, chosen_option in enumerate(options):
    print(f"{index+1}. {chosen_option}")

  # Get user input and convert to integer
  while True:
    try:
      option_selected = int(
        input("Ingresa el n煤mero de la opci贸n que deseas: "))
      counter += 1
      if option_selected < 1 or option_selected > len(options):
        print(
          "Ese n煤mero no es una opci贸n v谩lida. Por favor, ingresa un n煤mero del 1 al 3."
        )
      if counter <= 3:
        # Process user input
        chosen_option = options[option_selected - 1]
        # Generate random value to choose one of the 3 options
        random_value = random.choice(options)
        result = results[chosen_option][random_value]
        if result == 'empate':
          empate += 1
        elif result == 'perdiste':
          perdiste += 1
        else:
          ganaste += 1
        print(
          f"{result}, elegiste {chosen_option} y la m谩quina eligi贸 {random_value}."
        )
        results_dict = {
          'empate': empate,
          'perdiste': perdiste,
          'ganaste': ganaste
        }

      if counter == 3:
        # Get the variable name with the maximum value
        max_var = max(results_dict, key=results_dict.get)

        # Check if the machine or the player won
        if max_var == 'empate':
          print("Hubo un empate.")
        elif max_var == 'perdiste':
          print("La m谩quina gan贸.")
        else:
          print("Ganasteeeee!")
          
        # Print the results
        print("\nResultados finales:\n")
        print(f"\033[33mEmpates:\033[0m {empate}")
        print(f"\033[31mPerdiste:\033[0m {perdiste}")
        print(f"\033[32mGanaste:\033[0m {ganaste}")
        break
      else:
        break
    except ValueError:
      print("Ese no es un n煤mero. Por favor, ingresa un n煤mero del 1 al 3.")

Este es mi proyecto, le puse un while que se detendr谩 solo cuando el usuario teclee salir

import random
options = ('piedra', 'papel', 'tijera')

while True :
	player = (input('escoja piedra, papel o tijera para jugar 		 
        o salir para terminar el juego: ')).lower()
	computer = random.choice(options)
  
	if player == computer:
    		print('Empate!')
  	elif player == 'tijera':
  		if computer == 'papel':
      			print('Ganaste!')
    		else: 
       			print('Perdiste')
  	elif player == 'papel':
    		if computer == 'piedra':
      			print('Ganaste!')
    		else:
      			print('Perdiste')
  	elif player == 'piedra':
    		if computer == 'tijera':
      			print('Ganaste!')
    		else:
      			print('perdiste!')
  	else:
    		if player == 'salir':
      			print('fin del juego, adios')
      			break
   		 else:  
      			print('opci贸n inv谩lida')
      			continue
  	print('Usted escogi贸: ', player)
  	print('La computadora escogi贸: ',computer )

#trate de mejorar un poco el comportamiento y que sea un poco mas legible, pru茅benlo

  import random
  
  options = ('piedra', 'papel', 'tijera')
  
  computer_wins = 0
  user_wins = 0
  
  rounds = 1
  
  
  user_name = input('Como te llamaremos? -> ')
  
  message_win = f'{user_name} ganaste esta vez'
  message_lose = "Te gano la computadora esta vez"
  
  message_final_win = f'{user_name} eres el ganador absoluto'
  message_final_lose = "Perdiste contra la computadora, mejor suerte para la proxima"
  
  while True:
  
      print('*' * 10)
      print('ROUND', rounds)
      print('*' * 10)
    
      user_option = input('piedra, papel o tijera => ')
      user_option = user_option.lower()
  
      
  
      if not user_option in options:
        print('esa opcion no es valida')
        continue
  
      rounds += 1
  
      computer_option = random.choice(options)
      print('-' * 10)
      print(f'{user_name} option =>', user_option)
      print('Computer option =>', computer_option)
      print('-' * 10)
  
      if user_option == computer_option:
          print('Empate!')
      elif user_option == 'piedra':
          if computer_option == 'tijera':
              print('piedra gana a tijera')
              print(message_win)
              user_wins += 1
          else:
              print('Papel gana a piedra')
              print(message_lose)
              computer_wins += 1
      elif user_option == 'papel':
          if computer_option == 'piedra':
              print('papel gana a piedra')
              print(message_win)
              user_wins += 1
          else:
              print('tijera gana a papel')
              print(message_lose)
              computer_wins += 1
      elif user_option == 'tijera':
          if computer_option == 'papel':
              print('tijera gana a papel')
              print(message_win)
              user_wins += 1
          else:
              print('piedra gana a tijera')
              print(message_lose)
              computer_wins += 1
  
      print('-' * 10)
  
      print("Computer wins: ", computer_wins)
      print(f'{user_name} wins: ', user_wins)
  
      if computer_wins == 2:
        print('==*' * 10)
        print(message_final_lose)
        break
  
      if user_wins == 2:
        print('==*' * 10)
        print(message_final_win)
        break

Aprendi lo b谩sico de Python

Me doy cuenta que aprender a programar es un reto doble como el que enfrentan los reci茅n nacidos: aprender a hablar y aprender a pensar. Se aprende a pensar en la medida en la que se aprende a hablar y viceversa. Por eso es tan importante aprender bien la sintaxis del lenguaje utilizado, la parte l贸gica fluir谩 mucho m谩s f谩cil.

Juego de Piedra, Papel o Tijera

import random

# Variables que sirven de contador para el juego
rounds = 0
usuario_win = 0
maquina_win = 0

# Funcion para contar los parametros del usuario
def contador(rounds, usuario_win, maquina_win):
    return f'Ronda: {rounds}\nUsuario: {usuario_win}\nIA: {maquina_win}\n'

# Ciclo para contar las rondas perdidas y ganadas
while True:

    while not maquina_win == 2 or usuario_win == 2: 
        if usuario_win == 2 or maquina_win == 2:
            break
    # Selecci贸n del usuario
        print('-' * 30)
        usuario = input('Piedra, Papel o Tijera\nUsuario: ')
        usuario = usuario.lower()

    # Eleccion random del computador
        opciones = ["piedra",'papel','tijera']
        maquina = random.choice(opciones)
        print('IA:',maquina,'\n')

    # Elecciones del juego
        if maquina == usuario:
            rounds += 1
            print('Empate',
                '\nRonda:', rounds,'\n'
                '\nUsuario:', usuario_win,
                '\nIa:', maquina_win,'\n')

    # Esto es cuando gana el usuario
        elif maquina == 'papel' and usuario == 'tijera':
            usuario_win += 1
            rounds += 1
            print('\nTijera gana a papel \nGan贸 Usuario\n')
            print(contador(rounds, usuario_win, maquina_win))
            
        elif maquina == 'piedra' and usuario == 'papel':
            usuario_win += 1
            rounds += 1
            print('Papel gana a piedra \nGan贸 Usuario\n')
            print(contador(rounds, usuario_win, maquina_win))

        elif maquina == 'tijera' and usuario == 'piedra':
            usuario_win += 1
            rounds += 1
            print('Piedra gana a tijera \nGan贸 Usuario\n')
            print(contador(rounds, usuario_win, maquina_win))
            
    # Esto es cuando gana la maquina
        elif maquina == 'piedra' and usuario == 'tijera':
            print('Piedra gana a tijera \nGan贸 IA\n')
            maquina_win += 1
            rounds += 1
            print(contador(rounds, usuario_win, maquina_win))
            
        elif maquina == 'tijera' and usuario == 'papel':
            print('Tijera gana a papel \nGan贸 IA\n')
            maquina_win += 1
            rounds += 1
            print(contador(rounds, usuario_win, maquina_win))
            
        elif maquina == 'papel' and usuario == 'piedra':
            print('Papel gana a piedra \nGan贸 IA\n')
            maquina_win += 1
            rounds += 1
            print(contador(rounds, usuario_win, maquina_win))
        else:
            print('Elecci贸n incorrecta')
            print(contador(rounds, usuario_win, maquina_win))

    # Fin del juego 
    if usuario_win == 2:
        print('Ganaste')
        break
    else: 
        maquina_win == 2
        print('Perdiste')
        break

Les dejo mis notas.
Repositorio:

AQUI TIERNE UN JUEGO SENCILLO. TITULO MICHI. https://pythonmichi.blogspot.com/

Aqu铆 dejo mi c贸digo de piedra papel o tijera, se puede pulir m谩s pero trat茅 de hacerlo con la menor cantidad de l铆neas

import random

options = (1, 2, 3)
pc_win = 0
user_win = 0
rounds = 1

while not pc_win == 2 or user_win == 2:
  print('*' * 10)
  print('ROUND', rounds)
  print('*' * 10)
    
  user_option = int(input('[1]piedra, [2]papel o [3]tijera => '))
    
  if user_option == 1:
    print('Elegiste => piedra')
  elif user_option == 2:
    print('Elegiste => papel')
  elif user_option == 3:
    print('Elegiste => tijera')
  else:
    print('Opci贸n no v谩lida')
    continue
    
  pc_option = random.choice(options)

  if pc_option == 1:
    print('PC eligi贸 => piedra')
  elif pc_option == 2:
     print('PC eligi贸 => papel')
  else:
     print('PC eligi贸 => tijera')

  
  
  if user_option == pc_option:
    print('Empate')
  elif user_option - pc_option == 1 or user_option - pc_option == -2:
    print('Ganaste')
    user_win += 1
    print('Has ganado ', user_win)
  else:
    print('Perdiste')
    pc_win += 1
    print('Has perdido ', pc_win)
  print('\n')
 
  rounds += 1

Yo tambien hice un juego en Python. El juego es ahorcados:
#AHORACADO
import random
#Palabra a adivinar posiblemente
palabras = [鈥減erro鈥, 鈥済ato鈥, 鈥渓oro鈥, 鈥渓obo鈥, 鈥済allina鈥, 鈥渢igre鈥, 鈥渓eon鈥, 鈥渁guila鈥, 鈥渞aton鈥, 鈥渕osca鈥漖
#Palabra a adivinar
palabra_generada = random.choice(palabras)
#Palabra que se estar谩 formando por partes
palabra_por_partes = ["", "", 鈥", "鈥, 鈥", "鈥, 鈥", "鈥, 鈥", "鈥, 鈥", "鈥漖
palabra_unida = 鈥溾

vida = 5
letra = ""
palabra_a_formarse = [len(palabra_generada)]
respuesta_definitiva = 鈥溾

print("隆Bienvenido al juego de AHORACADOS!")
print(鈥淭em谩tica: Animales鈥)
print(鈥淩ecuerda que tienes 5 vidas鈥)

repetir = 1

while repetir == 1:
palabra_generada = random.choice(palabras)
palabra_por_partes = ["", "", 鈥", "鈥, 鈥", "鈥, 鈥", "鈥, 鈥", "鈥, 鈥", "鈥漖
palabra_unida = 鈥溾

vida = 5
letra = ""
palabra_a_formarse = [len(palabra_generada)]
respuesta_definitiva = ""

while respuesta_definitiva != palabra_generada:
    letra = input("Insertar letra...")
    if letra in palabra_generada:
        for elemento in range(len(palabra_generada)):
            if palabra_generada[elemento] == letra:
                palabra_por_partes[elemento] = letra
            else:
                palabra_por_partes[elemento] == "@"
        for elemento in palabra_por_partes:
            if len(palabra_unida) >= len(palabra_generada):
                palabra_unida += ""
            else:
                palabra_unida += elemento
        if palabra_generada in palabra_unida:
            print("FELICIDADES! LA PALABRA ERA:", palabra_generada)
            break
        print("Palabra formada en juego: ", palabra_unida)
        palabra_unida = ""
    else:
        vida -= 1
        print("隆ERROR! ", vida, " vidas")
        if vida == 0:
            print("PERDISTE...")
            print("La palabra era:", palabra_generada)
            break
repetir = int(input("驴Deseas empezar nuevamente la partida? | 1. S铆 | 2. No |"))
if(repetir == 2):
    print("GRACIAS POR JUGAR :D")

HOLA, envio el juego adivina adivinador jajaja
import random

Generar un n煤mero aleatorio entre 1 y 100

numero_secreto = random.randint(1, 100)

Inicializar las variables

intentos = 0
adivinado = False

print("隆Bienvenido al juego de adivinanzas!")

while not adivinado:
# Solicitar al jugador que ingrese un n煤mero
numero = int(input("Ingresa un n煤mero entre 1 y 100: "))

# Incrementar el contador de intentos
intentos += 1

# Comprobar si el n煤mero coincide con el n煤mero secreto
if numero == numero_secreto:
    print("隆Felicidades! 隆Adivinaste el n煤mero en", intentos, "intentos!")
    adivinado = True
elif numero > numero_secreto:
    print("Demasiado alto. Intenta de nuevo.")
else:
    print("Demasiado bajo. Intenta de nuevo.")

Yo les quiero compartir un proyecto que hice en la universidad, es un valuador de opciones financieras, tanto americanas como europeas. El proyecto es perfectible, pero me gustar铆a que si hay alguien por aqu铆 que conoce o le gusta el mundo de las finanzas me haga un pull request para que practiquemos. https://github.com/JavisG300/Modelacion-Financiera

Hola, mi proyecto fue un juego de Loter铆a donde se implementan los conceptos aprendidos Tipos de datos, Condicionales, Ciclos, Manejo de Listas y Diccionarios.

Adjunto el c贸digo completo y solicito su consideraci贸n si es apto para ser publicado en la lista de proyectos del curso. Muchas Gracias!

鈥溾濃
Programa elaborado por Alejandro Ria帽o Velasco - JUEGO DE LOTER脥A.
16 de mayo de 2023
"鈥"

#INICIO DEL PROGRAMA

print("*** INICIO DEL PROGRAMA ***")
mensaje01 = " BIENVENIDO AL JUEGO DE LOTER脥A 鈥
print (鈥漒n",mensaje01.center(50,"="))

import random # Se importa la librer铆a de random de Python para poder usar la funci贸n de randit()鈥

person = {
鈥榥ame鈥 : 鈥樷,
鈥榣astName鈥 : 鈥樷,
}

nombreUsuario = (input(鈥橽nIngrese sus nombres: '))
apellidoUsuario = (input('Ingrese sus apellidos: '))
person[鈥榥ame鈥橾 = nombreUsuario
person[鈥榣astName鈥橾 = apellidoUsuario

juegos = int(input(f鈥橽nBienvenido(a) {person[鈥渘ame鈥漖} {person[鈥渓astName鈥漖}.\nIngrese la cantidad de veces que desea jugar: '))

listaJuegos = []
for elemento in range(1, juegos+1):
listaJuegos.append(elemento)
print(鈥橽nVas a jugar 鈥, listaJuegos[-1], 鈥 veces鈥)

for juego in listaJuegos:
numeroLoteria = random.randint(1, 10) # Se usa la funci贸n randit para que asigne un valor aleatorio de 1 a 10
intentos = 0 # Inicializamos los intentos en cero
print(f鈥橽n----- INICIO DEL JUEGO: {juego} -----鈥)
while True: # Se coloca el valor en Verdadero para que el ciclo While se ejecute de manera indefinida
bandera = False # Se inicializa en falso para poder entrar en el ciclo While
while bandera == False:
numeroUsuario = input("\nAdivina el n煤mero secreto del 1 al 10: 鈥)
bandera = numeroUsuario.isnumeric() # Se eval煤a si el valor ingresado es Entero Positivo
if bandera == False:
print(鈥漒nHaz ingresado un valor incorrecto, deben ser valores enteros positivos, del 1 al 10")
elif int(numeroUsuario) >= 1 and int(numeroUsuario) <= 10: # Se eval煤a si el valor ingresado sea de 1 a 10
bandera = True
numeroUsuario = int(numeroUsuario) # Convierte el valor texto en entero para poder hacer operaciones matem谩ticas con 茅l
else:
bandera = False
print("\nHaz ingresado un valor incorrecto, deben ser valores enteros positivos, del 1 al 10")
intentos += 1
if numeroUsuario == numeroLoteria: # Eval煤a el valor ingresado por el usuario vs el que se tiene de Loter铆a
print("\n隆FELICIDADES! Adivinaste la LOTER脥A en", intentos, 鈥渋ntentos.鈥)
break # Esta sentencia rompe el ciclo ya que el n煤mero ya fue adivinado
elif numeroUsuario > numeroLoteria: # Eval煤a si el valor ingresado por el usuario es menor al que se tiene de Loter铆a
print("\nEl n煤mero secreto es menor que", numeroUsuario)
else: # Eval煤a si el valor ingresado por el usuario es mayor al que se tiene de Loter铆a
print("\nEl n煤mero secreto es mayor que", numeroUsuario)
print(f"\n------ FIN DEL JUEGO: {juego} ------")
print("\nTe quedan 鈥, listaJuegos[-1]-juego, " juegos.鈥) # Hace el conteo de los juegos restantes
print(f"\nMuchas gracias {person[鈥榥ame鈥橾} {person[鈥榣astName鈥橾}. Vuelve pronto.")

Este es mi proyecto, el computador adivina un numero que define el usuario, entre un rango definido:

#computador adivina numero secreto
import random
print("JUEGO DE ADIVINAR NUMERO SECRETO")
low=int(input('define un n煤mero m铆nimo:'))
high=int(input('define un n煤mero m谩ximo:'))
feedback=''
contador=0
print("El computador adivinar谩 el n煤mero secreto entre ",low, " y ", high, "piensa tu n煤mero secreto")

while feedback!='c':
  #difinir numero del PC
  if high!=low:
    propuestaPC= random.randint(low,high)
    print(f'el computador eligi贸 {propuestaPC}') 
  else:
    propuestaPC= low #pudiera ser tambien high, son iguales
  #indicar retroalimentaci贸n
  
  feedback=input(f'Es {propuestaPC} muy alto (h), es muy bajo (b) o esta correcto (c)?').lower()
  print(feedback, type(feedback))
  if feedback=='h':
    high=propuestaPC - 1
  elif feedback=='b':
    low=propuestaPC + 1
  contador+=1
print(f'El computador adivin贸 en {contador} intentos, {propuestaPC}, es el  numero secreto')
  

Esto como un segundo proyecto.

Grafico de una Funci贸n Cuadr谩tica y Lineal con Python

from matplotlib import pyplot

Funci贸n cuadratica

def f1(x):
return( x**2)+(8/3)*x+4

Funci贸n Lineal

def f2(x):
return(-3/2)*x + 2

Valores del eje x que toma el grafico

x = range(-5,8)

Graficar ambas funciones

pyplot.plot(x,[f1(i) for i in x])
pyplot.plot(x,[f2(i) for i in x])

Establecer el color en los ejes

pyplot.axhline(0,color=鈥榖lack鈥)
pyplot.axvline(0,color=鈥榖lack鈥)

Limites de los valores de los ejes

pyplot.xlim(-8,9)
pyplot.ylim(-8,9)

Guardar grafico como imagen png

pyplot.savefig(鈥榦utput.png鈥)

Graficando

pyplot.show()

Hola, estoy comenzando en el mundo de la programaci贸n.
Mi proyecto consiste en lo siguiente: utilizando la misma l贸gica de piedra, papel o tijera, escrib铆 un c贸digo para el juego sencillo de lanzar una moneda al aire.
En el juego intervienen dos jugadores que colocan sus nombres y escogen una opci贸n (cara o cruz). La computadora simula el lanzamiento de la moneda, cuyo resultado es aleatorio: cara o cruz.
Gana una ronda el jugador, cuya elecci贸n es igual a la de la computadora. El ganador final es el que gana primero dos rondas.

Hay varias cosas que mejorar en este juego, por ejemplo, que se pueda intercalar quien escoge primero su opci贸n, para que sea m谩s parecido al juego real.

Este es mi c贸digo:

import random

print("TE INVITO A JUGAR CARA O CCRUZ CON UNA MONEDA")

nombre_jugador_1 = input("Eres el jugador 1, cual es tu nombre? => ")
nombre_jugador_2 = input("Eres el jugador 2, cual es tu nombre? => ")


options = ("cara", "cruz")

nombre_jugador_1_wins = 0
nombre_jugador_2_wins = 0

rounds = 1


while True:

  print("*" * 30)
  print('ROUND', rounds)
  print("*" * 30)
  
  print("Hola ", nombre_jugador_1)
  jugador_1 = input("Escoge cara o cruz => ")
  jugador_1 = (jugador_1.lower())

  print("Hola ", nombre_jugador_2)
  jugador_2 = input("Escoge cara o cruz => ")
  jugador_2 = (jugador_2.lower())

  rounds += 1
  
  computadora = random.choice(options)

  print("jugador_1 ", nombre_jugador_1, " escogi贸 => ", jugador_1)
  print("jugador_2 ", nombre_jugador_2, " escogi贸 => ", jugador_2)
  print("computadora => ", computadora)

  if jugador_1 == computadora:
    print("GAN脫 => ", nombre_jugador_1)
    nombre_jugador_1_wins += 1

  else:
    print("GAN脫 => ", nombre_jugador_2)
    nombre_jugador_2_wins += 1

  if nombre_jugador_1_wins == 2:
    print("EL GANADOR FINAL ES => ", nombre_jugador_1)
    break

  if nombre_jugador_2_wins == 2:
    print("EL GANADOR FINAL ES => ", nombre_jugador_2)
    break
 

Comparto el c贸digo para el juego de piedra papel o tijera:

  1. El usuario escoge cuantas partidas desea jugar
  2. En caso de empate al final de estas partidas, el cliente puede elegir jugar una partida de desempate.
  3. Si el usuario escoge una opci贸n no valida, se indica que escoja una opci贸n valida.

import random

print(鈥楯uego de piedra, papel o tijera\n鈥)

Escoger la cantidad de partidas a disputar

count = int(input(鈥櫬緾u谩ntas partidas deseas disputar? '))

Contadores para saber las partidas ganadas

resultados_pc = 0
resultados_usuario = 0
resultados_empates = 0

Diccionario para mapear opciones con sus cadenas de texto correspondientes

opciones = {
1: 鈥楶iedra鈥,
2: 鈥楶apel鈥,
3: 鈥楾ijera鈥
}

Verificar la elecci贸n del usuario para que sea una de las 3 opciones

def verificar_opcion(opcion):
while opcion not in opciones.keys():
print(鈥楲a opci贸n ingresada no es v谩lida. Por favor, elija una opci贸n disponible.鈥)
opcion = int(input('Ingrese:\n1 para piedra\n2 para papel\n3 para tijera\nHas elegido: '))
return opcion

#imprimir resultado del PC y el cliente
def imprimir_resultados(usuario, pc):
print(f鈥橽nHas elegido: {opciones[usuario]}鈥)
print(f鈥橢l PC ha elegido: {opciones[pc]}鈥)

Loop principal para el juego

while True:
for i in range(count):
# Entrada del usuario
usuario = int(input('Ingrese:\n1 para piedra\n2 para papel\n3 para tijera\nHas elegido: '))
usuario = verificar_opcion(usuario)

    # Selecci贸n aleatoria del PC
    pc = random.randint(1, 3)

    # Verificaci贸n de los resultados
    if pc == usuario:
        imprimir_resultados(usuario, pc)
        print('\nEmpate\n\n')
        resultados_empates += 1
    elif (usuario == 1 and pc == 3) or (usuario == 2 and pc == 1) or (usuario == 3 and pc == 2):
        imprimir_resultados(usuario, pc)
        print('\nHas ganado\n\n')
        resultados_usuario += 1
    else:
        imprimir_resultados(usuario, pc)
        print('\nHas perdido\n\n')
        resultados_pc += 1

print(f'\nUsuario: {resultados_usuario}\nPC: {resultados_pc}\nEmpates: {resultados_empates}')

if resultados_pc == resultados_usuario:
    respuesta = input("Se ha presentado un empate contra el PC. 驴Desea jugar una partida adicional? (s/n) ")
    if respuesta == 's':
        count = 1
        continue
    else:
        break
else:
    break
import random

options = ('piedra', 'papel', 'tijera')

# -1 => draw, 0 => lose, 1 => win
#        piedra papel tijera
# piedra  -1     0      1
# papel    1    -1      0
# tijera   0     1     -1
game_matrix = [[-1,0,1],[1,-1,0],[0,1,-1]]

# lists to save result tuples
user_games_history = []
computer_games_history = []

while len(user_games_history) < 3 and len(computer_games_history) < 3:
    #user selection
    user_option = input('ingrese piedra, papel o tijera =>  ')
    user_option = user_option.lower()

    if not user_option in options:
        print('opci贸n no v谩lida :(')
        continue
    
    #computer selection
    computer_option = random.choice(options)
    result = game_matrix[options.index(user_option)][options.index(computer_option)]

    match result:
        case -1: 
            print('Empate :/ ')
        case 0 :
            print('Perdiste :C ', f' computador: {computer_option}')
            computer_games_history.append((user_option,computer_option))
        case 1 :
            print('Ganaste :) ', f' computador: {computer_option}')
            user_games_history.append((user_option,computer_option))

print('Juego terminado')
print('Resultados de partidas')
games = user_games_history if len(user_games_history) == 3 else computer_games_history
for game in games:
    print(f'T煤: {game[0]}, computador: {game[1]}')

https://replit.com/@marcocarrera/Python-MC#main.py

Les dejo mi aporte de mi juego
Espero les ayude en algo

Les dejo mi codigo. espero les sirva 馃槂

<import random
import time
resultadoDePartida = "GANASTE"
options = ("piedra","papel","tijeras")
userWins = 0
computerWins = 0 
reinicio = 1
while reinicio == 1:
    rounds = int(input("Introduzca las rondas que desea jugar: "))
    time.sleep(0.7)
    while rounds > 0:
        userOption = (input("seleccione entre piedra, papel o tijeras: "))
        userOption = userOption.lower()
        computerOption = random.choice(options)
        if not userOption in options:
            print("la opcion no es valida")
            break
        else:
            print ("seleccionaste: ",userOption, "la computadora selecciono: ",computerOption)
            time.sleep(0.7)
            if userOption == computerOption:
                print("Es un empate")
                time.sleep(1)
                print("puntos del usuario", userWins, "puntos de la computadora", computerWins)
                time.sleep(1)
            elif (userOption == "piedra" and computerOption == "tijeras"):
                print (resultadoDePartida)
                time.sleep(1)
                userWins += 1
                print("puntos del usuario", userWins, "puntos de la computadora", computerWins)
                time.sleep(1)
            elif (userOption == "piedra" and computerOption == "papel"):
                print("NO", resultadoDePartida)
                time.sleep(1)
                computerWins += 1
                print("puntos del usuario", userWins, "puntos de la computadora", computerWins)
                time.sleep(1)
            elif (userOption == "papel" and computerOption == "piedra"):
                print(resultadoDePartida)
                time.sleep(1)
                userWins += 1
                print("puntos del usuario", userWins, "puntos de la computadora", computerWins)
                time.sleep(1)
            elif (userOption == "papel" and computerOption == "tijeras"):
                print("NO", resultadoDePartida)
                time.sleep(1)
                computerWins += 1
                print("puntos del usuario", userWins, "puntos de la computadora", computerWins)
                time.sleep(1)
            elif (userOption == "tijeras" and computerOption == "piedra"):
                print("NO", resultadoDePartida)
                time.sleep(1)
                computerWins += 1
                print("puntos del usuario", userWins, "puntos de la computadora", computerWins)
                time.sleep(1)
            elif (userOption == "tijeras" and computerOption =="papel"):
                print(resultadoDePartida)
                time.sleep(1)
                userWins += 1
                print("puntos del usuario", userWins, "puntos de la computadora", computerWins)
                time.sleep(1)
        rounds -= 1
        print("rondas restantes = ", rounds)
        time.sleep(1)
        print("*"* 70)
    if rounds == 0:
        if userWins > computerWins:
            print("Eres el vencedor. Felicidades!")
        elif userWins < computerWins:
            print("La computadora fue la vencedora")
        elif userWins == computerWins: 
            print("Quedo en empate")
    reinicio -=1
    reinicioTotal = (input("Desea volver a jugar, responda si o no ===> "))
    reinicioTotal = reinicioTotal.lower()
    if reinicioTotal == "si":
        reinicio +=1
        computerWins == 0
        userOption == 0
    else:
        print("gracias por jugar :)") > 

Comparto mi proyecto de piedra, papel o tijera en Python.

import random

options = ('piedra', 'papel', 'tijera')
games = 1
user_wins = 0
comp_wins = 0
print('Hola usuario, este es el juego de Piedra, Papel o Tijera 馃槉')
print('Tienes 5 posibles juegos para ganarme')
print('si alguno de nosotros gana 3, se acaba el juego. Buena suerte, aunque no ser谩 tan f谩cil')


while games <= 5:
  if  user_wins == 3 or comp_wins == 3:
    break

  print('*'*20, 'JUEGO #', games, '*'*20)

  user_option = input('piedra, papel o tijera => ')
  user_option = user_option.lower()

  while not user_option in options:
    print('esa opci贸n no es v谩lida')
    user_option = input('Escoge bien: piedra, papel o tijera => ')

  computer_option = random.choice(options)

  print('User option => ', user_option)
  print('Computer option => ', computer_option)

  if user_option == computer_option:
    print('empate!')
  elif user_option == 'piedra':
    if computer_option == 'tijera':
      print('piedra gana a tijera')
      print('user gan贸!')
      user_wins += 1
    else:
      print('papel gana a piedra')
      print('computer gan贸!')
      comp_wins += 1
  elif user_option == 'papel':
    if computer_option == 'piedra':
      print('papel gana a piedra')
      print('user gan贸!')
      user_wins += 1
    else:
      print('piedra gana a tijera')
      print('computer gan贸!')
      comp_wins += 1
  elif user_option == 'tijera':
    if computer_option == 'papel':
      print('tijera gana a papel')
      print('user gan贸!')
      user_wins += 1
    else:
      print('piedra gana a tijera')
      print('computer gan贸!')
      comp_wins += 1

  print('_'*20)
  print('Ganadas por el usuario =>', user_wins)
  print('Ganadas por el computador =>', comp_wins)
  if user_wins > comp_wins:
    print('** vas ganando usuario por diferencia de', int(user_wins-comp_wins))
  elif user_wins == comp_wins:
    print('* vamos empatados *')
  else:
    print('** voy ganando por diferencia de', int(comp_wins-user_wins))
  games +=1

print('*'*20)
print('*    GAMES OVER    *')
print('*'*20)
print('ganadas por el usuario =>', user_wins)
print('ganadas por el computador =>', comp_wins)
if user_wins > comp_wins:
  print('GANASTE USUARIO POR', int(user_wins-comp_wins), 'DE VENTAJA')
elif user_wins == comp_wins:
  print('QUEDAMOS EMPATADOS, DEBER脥AMOS SEGUIR JUGANDO, DALE "RUN" OTRA VEZ!')
else:
  print('GAN脡 YO EL COMPUTADOR POR', int(comp_wins-user_wins), 'DE VENTAJA')

  

https://replit.com/@JuanferYepes/Python1#main.py

Ac谩 esta mi resultado, debo decir que tom茅 como ejemplo el 3er c贸digo que nos dejaron donde se optimiza el c贸digo.
.
Inicialmente lo hab铆a hecho de una forma menos optima y me sirvi贸 bastante ver este ejemplo, su l贸gica es muy buena.

Me apoy茅 en los proyectos de esta clase. Dejo mi c贸digo:

print(鈥淏IENVENIDO AL JUEGO DEL PIEDRA, PAPEL O TIJERA鈥)
print(鈥淕ana el juego el que gana 3 partidas primero鈥)
print(" ")

import random

options = (鈥減iedra鈥, 鈥減apel鈥, 鈥渢ijera鈥) # Tupla

computer_wins = 0
user_wins = 0

partida = 1

while True:

print('=' * 60)
print('PARTIDA', partida)
print('=' * 60)

print("Puntos de la computadora -->", computer_wins)
print("Tus puntos -->", user_wins)

user_option = input("Elige tu opci贸n: piedra, papel o tijera --> ")
user_option = user_option.lower()

partida += 1 

# REGLAS

if not user_option in options:
  print("Esa opci贸n no es v谩lida, elige nuevamente")
  print(" ")
  continue
  
computer_option = random.choice(options)

print("Tu elecci贸n -->", user_option)
print("Elecci贸n de la computadora -->", computer_option)

if user_option == computer_option:
  print("隆Empate!")
  print(" ")
elif user_option == "piedra":
  if computer_option == "tijera":
    print("Piedra gana a tijera")
    print("隆Ganaste!")
    print(" ")
    user_wins += 1
  else:
    print("Papel gana a piedra")
    print("隆Gan贸 la computadora!")
    print(" ")
    computer_wins += 1
elif user_option == "papel":
  if computer_option == "piedra":
    print("Papel gana a piedra")
    print("隆Ganaste!")
    print(" ")
    user_wins += 1
  else:
    print("Tijera gana a papel")
    print ("隆Gan贸 la computadora!")
    print(" ")
    computer_wins += 1
elif user_option == "tijera":
  if computer_option == "papel":
    print("Tijera gana a papel")
    print("隆Ganaste!")
    print(" ")
    user_wins += 1
  else:
    print("Piedra gana a tijera")
    print("隆Gan贸 la computadora!")
    print(" ")
    computer_wins += 1
        
if computer_wins == 3:
    print("*"*40)
    print('La computadora gan贸 el juego al vencerte en 3 partidas')
    print("*"*40)
    print("Partidas ganadas por la computadora -->", computer_wins)
    print("Partidas ganadas por usted -->", user_wins)
    break

if user_wins == 3:
    print("*"*80)
    print("Ganaste el juego al vencer 3 partidas a la computadora")
    print("*"*80)
    print("Partidas ganadas por usted -->", user_wins)
    print("Partidas ganadas por la computadora -->", computer_wins)
    break

Despu茅s de sudar, ver errores, buscar en internet y pedir ayuda鈥 Aqu铆 est谩 mi esfuerzo. Estar茅 atento ante cualquier presencia de errores que perciban o Feedback que quieran dar 馃槃

import random


options = ("Piedra", "Papel", "Tijera")

numGames = input('驴Cu谩ntas partidas quieres jugar?')

while not numGames.isdigit():
  print("Selecciona un valor numerico")
  numGames = input('驴Cu谩ntas partidas quieres jugar?')

numGames = int(numGames)

while (numGames % 2) != 1:
  print("Ingresa un valor impar")
  numGames= int(input('驴Cu谩ntas partidas quieres jugar?'))
  
necessaryWins = (numGames / 2) + 0.5
botWins = 0
userWins = 0


def jugar():

  randomResult = random.randint(0, 2)
  userResult = input("驴Qu茅 escoger谩s?")
  userResult = userResult.lower().capitalize()

  while not userResult in options:
    print("Ingresa un dato v谩lido")
    userResult = input("驴Qu茅 escoger谩s?")
    userResult = userResult.lower().capitalize()
  

  
  def perder():
    print(f"El bot escogi贸 {options[randomResult]} y t煤 escogiste {userResult}. Perdiste")
    global botWins
    botWins += 1
    
  def ganar():
    print(f"El bot escogi贸 {options[randomResult]} y t煤 escogiste {userResult}. Ganaste")
    global userWins
    userWins += 1
    
  def empate():
    print(f"El bot escogi贸 {options[randomResult]} y t煤 escogiste {userResult}. Empate")

  
  if (randomResult == 0 and userResult == "Tijera") or (randomResult == 1 and userResult == "Piedra") or (randomResult == 2 and userResult == "Papel"):
    perder()
  elif (randomResult == 0 and userResult == "Papel") or (randomResult == 1 and userResult == "Tijera") or (randomResult == 2 and userResult == "Piedra"):
    ganar()
  elif (options[randomResult] == userResult):
    empate()

  print(f'El bot ha ganado {botWins}')
  print(f'El usuario ha ganado {userWins}')

while botWins < necessaryWins and userWins < necessaryWins:
  jugar()
  if botWins == necessaryWins:
    print("Esta ronda la ha ganado el bot!")
  elif userWins == necessaryWins:
    print("Esta ronda la has ganado!")

As铆 qued贸 mi proyecto! Cualquier recomendaci贸n es bienvenida!

import random # random numeric value

options = ('ROCK', 'PAPER', 'SCISSORS')
user_count = 0
computer_count = 0

print("Let's play! The best of 5 rounds wins!")


while user_count < 3 and computer_count < 3: 
  # user and computer option selection:
  user_option = input('Choose one option: ROCK, PAPER, SCISSORS: ').upper()
  computer_option = random.choice(options)

  # to reset the loop if the user doesn't choose a valid option
  if not user_option in options:
    print('Please, choose a right option')
    continue
    
  # conditional to know who wins:
  if user_option == computer_option:
    print("Draw!")
    print("User option: ",user_option)
    print("Computer option: ",computer_option)
    print(f'User: {user_count}')
    print(f'Computer: {computer_count}')
  elif user_option == 'ROCK' and computer_option == 'SCISSORS':
    print("User wins!")
    print("User option: ",user_option)
    print("Computer option: ",computer_option)
    user_count += 1
    print(f'User: {user_count}')
    print(f'Computer: {computer_count}')
  elif user_option == 'ROCK' and computer_option == 'PAPER':
    print("Computer wins!")
    print("User option: ",user_option)
    print("Computer option: ",computer_option)
    computer_count += 1
    print(f'User: {user_count}')
    print(f'Computer: {computer_count}')
  elif user_option == 'PAPER' and computer_option == 'SCISSORS':
    print("Computer wins!")
    print("User option: ",user_option)
    print("Computer option: ",computer_option)
    computer_count += 1
    print(f'User: {user_count}')
    print(f'Computer: {computer_count}')
  elif user_option == 'PAPER' and computer_option == 'ROCK':
    print("User wins!")
    print("User option: ",user_option)
    print("Computer option: ",computer_option)
    user_count += 1
    print(f'User: {user_count}')
    print(f'Computer: {computer_count}')
  elif user_option == 'SCISSORS' and computer_option == 'ROCK':
    print("Computer wins!")
    print("User option: ",user_option)
    print("Computer option: ",computer_option)
    computer_count += 1
    print(f'User: {user_count}')
    print(f'Computer: {computer_count}')
  elif user_option == 'SCISSORS' and computer_option == 'PAPER':
    print("User wins!")
    print("User option: ",user_option)
    print("Computer option: ",computer_option)
    user_count += 1
    print(f'User: {user_count}')
    print(f'Computer: {computer_count}')

# and the winner is...
if user_count == 3:
  print('User wins!!')
elif computer_count == 3:
  print('Computer wins!!')

Hola! Les comparto mi juego, en el que quien gana es el primero en acertar 3 puntos

import random

options = ('piedra','papel','tijera')
conteo_ganaste=0
conteo_perdiste=0

print('Bienvenido al torneo mundial de piedra papel o tijera: humanos contra m谩quinas. El ganador ser谩 quien gane 3 veces por primera vez. Que la suerte est茅 de tu lado!')

print('********************************')

while conteo_ganaste<3 and conteo_perdiste<3:
  user_option= input('Piedra, Papel o Tijera => ')
  user_option = user_option.lower()
  
  if (not user_option in options):
    print('esa opci贸n no es v谩lida')
  
  computer_option = random.choice(options)
  
  print('User option =>', user_option)
  print('Computer option =>', computer_option)
  
  
  if user_option == computer_option:
    print('Empate')
    print('Puntos usuario => ', conteo_ganaste)
    print('Puntos computador => ',conteo_perdiste)
    print('********************************')

  elif user_option == 'piedra':
    if computer_option == 'papel':
      print('Papel gana a Piedra')
      print('Perdiste :(')
      conteo_perdiste +=1
      print('Puntos usuario => ', conteo_ganaste)
      print('Puntos computador => ',conteo_perdiste)
      print('********************************')

      
    else:
      print('Piedra gana a Tijera')
      print('Ganaste!')
      conteo_ganaste +=1
      print('Puntos usuario => ', conteo_ganaste)
      print('Puntos computador => ',conteo_perdiste)
      print('********************************')

      
  elif user_option == 'papel':
    if computer_option == 'tijera':
      print('Tijera gana a Papel')
      print('Perdiste :(')
      conteo_perdiste +=1
      print('Puntos usuario => ', conteo_ganaste)
      print('Puntos computador => ',conteo_perdiste)
      print('********************************')

      
    else:
      print('Papel gana a Piedra')
      print('Ganaste!')
      conteo_ganaste +=1
      print('Puntos usuario => ', conteo_ganaste)
      print('Puntos computador => ',conteo_perdiste)
      print('********************************')

      
  elif user_option == 'tijera':
    if computer_option == 'piedra':
      print('Piedra gana a Tijera')
      print('Perdiste :(')
      conteo_perdiste +=1
      print('Puntos usuario => ', conteo_ganaste)
      print('Puntos computador => ',conteo_perdiste)
      print('********************************')

      
    else:
      print('Tijera gana a Papel')
      print('Ganaste!')
      conteo_ganaste +=1
      print('Puntos usuario => ', conteo_ganaste)
      print('Puntos computador => ',conteo_perdiste)
      print('********************************')

      

print('**************************')

if conteo_ganaste==3:
  print('Ganaste el torneo!!!')
else:
  print('Perdiste el torneo :(')

As铆 qued贸 mi proyecto

Primero le pregunta al usuario cuantos puntos se necesita acumular para ganar el juego, eventualmente le pregunta al usuario por cada turno la opci贸n (piedra, papel o tijera).
Dependiendo de quien gane, muestra un mensaje y los datos del juego actual. Finalmente, le pregunta al usuario si desea jugar o no otra partida.

aqui dejo mi aporte, link como codigo

https://replit.com/@SebastianArena5/Python-Platzi#main.py

import random

options = ("Piedra","Papel","Tijera")

computer_wins = 0
user_wins = 0
draws = 0
round = 1

print("-" * 60)
print(" ")
print("Bienvenido al juego de Piedra, Papel o Tijera!!!")
print(" ")
print("-" * 60)
print(" ")

#Validacion del numero de rondas a jugar
while True:
  max_rounds = input("驴Cuantas rondas quieres jugar? => ")

  if not max_rounds.isnumeric() or int(max_rounds) <= 0:
    print("-" * 60)
    print(" ")
    print("Has elegido una opcion incorrecta, prueba con una nueva")
    print(" ")
    print("-" * 60) 
    print(" ")
    continue

  max_rounds = int(max_rounds)
  print("-" * 60)
  if max_rounds == 1:
    print(f"Jugaremos {max_rounds} ronda. Que gane el mejor :) ")
  else:
    print(f"Jugaremos un total de {max_rounds} rondas. Que gane el mejor :) ")
  break

#Ciclo para jugar la cantidad dicha por max_rounds
while round <= max_rounds:  
  print("-" * 60)
  print(" ")
  print("Resumen de la/las partidas")
  print("Maximo de rondas a jugar =>",max_rounds)
  print("Puntuaciones: ")
  print("-> User Wins => ",user_wins)
  print("-> Computer Wins => ",computer_wins)
  print("-> Empates =>",draws)
  print(" ")
  print("-" * 60)
  print(" ")
  print("*" * 10)
  print("Ronda #",round)
  print("*" * 10)
  print(" ")
  
  user_option = input("Escoge una de las siguientes opciones: piedra, papel o tijera => ")
  user_option = user_option.capitalize()

  round += 1

  if not user_option in options:
    print("Esa opcion no es valida. Las opciones validas son piedra, papel o tijera, intenta de nuevo")
    round -= 1
    continue

  computer_option = random.choice(options)
  print(" ")

  print("User Option =>", user_option)
  print("Computer Option =>", computer_option)
  print(" ")

  if user_option == computer_option:
    print("Empate!")
    print(" ")
    draws += 1
    
  elif user_option == "Piedra":
    if computer_option == "Tijera":
      print("Piedra gana a Tijera")
      print("User gano!")
      print(" ")
      user_wins += 1
      
    else:
      print("Papel gana a Piedra")
      print("Computer gano!")
      print(" ")
      computer_wins += 1
      
  elif user_option == "Papel":
    if computer_option == "Piedra":
      print("Papel gana a Piedra")
      print("User gano!")
      print(" ")
      user_wins += 1
      
    else:
      print("Tijera gana a Papel")
      print("Computer gano!")
      print(" ")
      computer_wins += 1
      
  elif user_option == "Tijera":
    if computer_option == "Papel":
      print("Tijera gana a Papel")
      print("User gano!")
      print(" ")
      user_wins += 1
      
    else:
      print("Piedra gana a Tijera")
      print("Computer gano!")
      print(" ")
      computer_wins += 1

# Validacion de quien gana, junto al resumen total
print("-" * 60)
print(" ")
print("Resumen total de la/las partidas")
print("Rondas jugadas =>",max_rounds)
print("Puntuaciones: ")
print("-> User Wins => ",user_wins)
print("-> Computer Wins => ",computer_wins)
print("-> Empates => ",draws)
print(" ")

if user_wins == computer_wins:
  if draws == 1:
    print(f"Hubo un empate entre User y Computer, cada uno con un total de {user_wins} victorias, junto a {draws} empate")
    print(" ")
    print("-" * 60)
    print(" ")
  else:
    print(f"Hubo un empate entre User y Computer, cada uno con un total de {user_wins} victorias, junto a {draws} empates")
    print(" ")
    print("-" * 60)
    print(" ")
  
    
elif user_wins > computer_wins:
  if draws == 1:
    print(f"Gano el User con {user_wins} victorias sobre la/las {computer_wins} de Computer, junto a {draws} empate")
    print(" ")
    print("-" * 60)
    print(" ")
  else:
    print(f"Gano el User con {user_wins} victorias sobre la/las {computer_wins} de Computer, junto a {draws} empates")
    print(" ")
    print("-" * 60)
    print(" ")
    
else:
  if draws == 1:
    print(f"Gano Computer con {computer_wins} victorias sobre la/las {user_wins} de User, junto a {draws} empates")
    print(" ")
    print("-" * 60)
    print(" ")
  else:
    print(f"Gano Computer con {computer_wins} victorias sobre la/las {user_wins} de User, junto a {draws} empates")
    print(" ")
    print("-" * 60)
    print(" ")

ASI ME QUEDO A MI

import random

options = ('piedra', 'papel', 'tijera')

print('WELCOME TO THE "PIEDRA, PAPEL O TIJERA" GAME')

rounds = int(input('El primero en llegar a cuantos es el ganador? => '))
print('OK! El primero en llegar a', rounds, 'es el ganador')
print("Are you ready? Let's go!")

won = 0
losses = 0

while won < rounds or losses < rounds:
  player = input('Piedra, papel o tijera? -> ')
  player = player.lower()

  if not player in options:
    print('Opcion invalida')
    continue

  computer = random.choice(options)

  print('Elegiste ', player)
  print('Computadora eligio ', computer)

  if player == computer:
    print('EMPATE!  TU:', won, 'COMPUTADORA', losses)
  elif player == 'piedra' and computer == 'tijera' or player == 'papel' and computer == 'piedra' or player == 'tijera' and computer == 'papel':
    won += 1
    print('GANASTE!  TU:', won, 'COMPUTADORA:', losses)
    if won == rounds:
      print('FELICIDADES ERES EL GANADOR')
      break
      
  else:
    losses += 1
    print('PERDISTE!  TU:', won, 'COMPUTADORA:', losses)
    if losses == rounds:
      print('HAZ SIDO DERROTADO')
      break
      

import random
options = (鈥榩iedra鈥, 鈥榩apel鈥,鈥 tijera鈥)

com_win = 0
user_win =0
rounds = 1

while True:
print(鈥*鈥 10)
print('ROUNDS 鈥, rounds)
print(鈥
鈥 *10)

print('puntos computadora', com_win)
print('puntos del usuario', user_win)
user_opc = input('elija entre piedra, papel o tijera ').lower()
rounds += 1
if user_opc != options:
    print('esa opcion no es valida, por favor elija Piedra, Papel o Tijera')
    continue
com_opc = random.choice(options)
print('opcion de usuario ', user_opc)
print('opcion computadora', com_opc)
if user_opc == com_opc:

    print('empate')
elif user_opc == 'piedra':
    if com_opc == 'tijera':
        print ('piedra gana a tijera')
        print('usuario gana')
        user_win +=1
    else:
        print('papel gana a piedra') 
        print('computadora gano')
        com_win +=1
elif user_opc == 'papel':
    if com_opc == 'piedra':
        print('papel gana a la piedra')
        print('usuario gano')
        user_win +=1
    else:
        print('tijera gana a papel')
        print('computer gana')
        com_win +=1
elif user_opc == 'tijera':
    if com_opc == 'papel':
        print('tijera gana a papel')
        print('usuario gana')
        user_win +=1
    else:
        print('piedra gana a tijera')
        print('computer gana')
        com_win +=1

if com_win == 2:
    print('El ganador absoluto es la computadora')
    break
if user_win == 2:
    print('El ganador absoluto es el usuario')
    break
import random

compu_points = 0
user_points = 0
while abs(compu_points - user_points) < 2:
  option = ("Piedra", "Papel", "Tijera")
  computer_option = random.choice(option)

  user_option = str(input("Elige Piedra, Papel o Tijera: ")).capitalize()
  
  if not user_option in option:
    print("Elije una opcion valida")
  elif user_option == computer_option:
    print(f"Computer:{computer_option}")
    print("Empate!")
  elif computer_option == "Piedra" and user_option == "Tijera":
    print(f"Compurer:{computer_option}")
    compu_points += 1
    print(f"Computer = {compu_points} Tu = {user_points}")
  elif computer_option == "Papel" and user_option == "Piedra":
    print(f"Computer:{computer_option}")
    compu_points += 1
    print(f"Computer = {compu_points} Tu = {user_points}")
  elif computer_option == "Tijera" and user_option == "Papel":
    print(f"Computer:{computer_option}")
    compu_points += 1
    print(f"Computer = {compu_points} Tu = {user_points}")
  else:
    print(f"Computer:{computer_option}")
    user_points += 1
    print(f"Computer = {compu_points} Tu = {user_points}")

if compu_points > user_points:
  print("---Perdiste!---")
else:
  print("---Ganaste!---")

Soluci贸n pensada en una matriz de reglas donde la fila corresponde al jugador y la columna al computador:

import random

options = ['papel', 'piedra', 'tijera']
rules = [
    ['Empate', 'Jugador', 'Computador'],
    ['Computador', 'Empate', 'Jugador'],
    ['Jugador', 'Computador', 'Empate']
]
round = 1
computer_points = 0
player_points = 0
continue_game = True

print('Bienvenido al juego piedra, papel o tijera\n')

while continue_game:
    victories = input('Ingresa el n煤mero de victorias a jugar: ')
    if not victories.isdigit():
        print('N煤mero de victorias inv谩lido')
        continue
    victories = int(victories)

    while computer_points < victories and player_points < victories:
        print(f"\nRonda: { round }")
        player_opt = input('Jugador: piedra, papel o tijera: ')

        if not player_opt in options:
            print("Opci贸n inv谩lida\n")
            continue

        computer_opt = random.choice(options)
        player_idx = options.index(player_opt)
        computer_idx = options.index(computer_opt)

        result = rules[player_idx][computer_idx]
        if result == 'Computador':
            computer_points += 1
        elif result == 'Jugador':
            player_points += 1

        print(f"Computador: {computer_opt} - Jugador: {player_opt} - Ganador: {result}")
        print(f"Computador: {computer_points} / Jugador: {player_points}")
        round += 1

    if computer_points == 3:
        print("\n隆Lo sentimos, te ha ganado un cerebro positr贸nico jajajjajja!")
    else:
        print("\n隆Felicitaciones, le has ganado a un cerebro positr贸nico!")

    retry = input("\n驴Otra ronda? (y/n) ")
    if not retry == 'y':
        continue_game = False
import random


def who_wins(your_option, npc_option):
    play_versus = {
        "rock": {
            "scissors": "won",
            "paper": "lost",
            "rock": "draw"
        },
        "paper": {
            "rock": "won",
            "scissors": "lost",
            "paper": "draw"
        },
        "scissors": {
            "paper": "won",
            "rock": "lost",
            "scissors": "draw"
        }
    }
    return play_versus[your_option][npc_option]


def playGame():
    options = ("rock", "paper", "scissors")
    play = True
    while play:
        print("*" * 6, "Game of rock, paper and scissors", "*" * 6)
        your_option = ""
        while your_option not in options:
            your_option = input("Enter your choice between rock, paper and scissors: ").lower()
        
        npc_option = random.choice(options)
        
        print(f"Your option is {your_option} and the npc option is {npc_option}")

        game_result = who_wins(your_option, npc_option)

        print(f"Your {your_option} {game_result} against the npc {npc_option}")
        print(f"You {game_result} in the game.")

        if input('Enter "yes" to play again: ').lower() != "yes":
            play = False


if __name__ == '__main__':
    playGame()

import random
while True:
print(鈥淓liga ina opcion\n1) Tijera\n2) Papel\n3) Piedra\n鈥)
value_user = int(input("El valor es: "))
value_random = random.randint(1,3)
if value_user 1 and value_random2:
print(鈥淕anaste!!!鈥)
break
elif value_user == 2 and value_random3:
break
elif value_user == 3 and value_random
1:
break
elif value_user == value_random:
print(鈥淓mpatee鈥)
else:
print(鈥淧erdiste \nVuelve a Intentarlo鈥)

import random

def rps_game():

    #define las opciones diponibles en el juego
    option = ["piedra", "papel", "tijera"]
    games = int(input("Cuantas veces quieres jugar: "))
  
    
    
    user_wins = 0
    pc_wins = 0
    total_games = 0

  

    while total_games < games and user_wins < 3 and pc_wins < 3:
          # Pide al usuario que elija su opcion
        user_selection = input("Elige piedra, papel o tijera: ")
        pc_selection = random.choice(option) 
        print("Elegiste: ", user_selection)
        print("El pc eligio: ", pc_selection)

    
        if user_selection == pc_selection:
            print("Empataste")
        elif user_selection == "piedra" and pc_selection == "tijera":
            print("GANASTE")
            user_wins += 1
        elif user_selection == "tijera" and pc_selection == "papel":
            print("GANASTE")
            user_wins += 1
        elif user_selection == "papel" and pc_selection == "piedra":
            print("GANASTE")
            user_wins += 1
        else:
            print("Perdiste")
            pc_wins +=1
        total_games += 1
    print()
if __name__ == "__main__":
    rps_game()

ronda=1
computer=0
user=0
while ronda<4:
print("")
print("RONDA: ",ronda)
import random
options=(鈥減iedra鈥,鈥減apel鈥,鈥渢ijera鈥)
computer_option=random.choice(options)
user_option=input(鈥減iedra, papel o tijera? 鈥)
user_option=(user_option.lower())
if not user_option in options:
print(user_option,鈥 no es v谩lido, no hay juego鈥)
break
else:
print("computer_option: 鈥,computer_option)
print(鈥渦ser_option: 鈥,user_option)
if user_optioncomputer_option:
print(鈥淓mpate!鈥)
elif computer_option
"piedra鈥 and user_option==鈥減apel鈥:
print(鈥減apel gana a piedra鈥)
print(鈥渦ser gan贸!鈥)
user+=1
elif computer_option==鈥減iedra鈥 and user_option==鈥渢ijera鈥:
print(鈥減iedra gana a tijera鈥)
print(鈥渃omputer gan贸!鈥)
computer+=1
elif computer_option==鈥減apel鈥 and user_option==鈥減iedra鈥:
print(鈥減apel gana a piedra鈥)
print(鈥渃omputer gan贸!鈥)
computer+=1
elif computer_option==鈥減apel鈥 and user_option==鈥渢ijera鈥:
print(鈥渢ijera gana a papel鈥)
print(鈥渦ser gan贸!鈥)
user+=1
elif computer_option==鈥渢ijera鈥 and user_option==鈥減iedra鈥:
print(鈥減iedra gana a tijera鈥)
print(鈥渦ser gan贸!鈥)
user+=1
elif computer_option==鈥渢ijera鈥 and user_option==鈥減apel鈥:
print(鈥渢ijera gana a papel鈥)
print(鈥渃omputer gan贸!鈥)
computer+=1
ronda+=1
print(鈥濃)
print("FINAL DE LAS RONDAS: user: 鈥,user,鈥 computer: ",computer)
if user>computer:
print(鈥渦ser GANOOOO!!!鈥)
elif computer>user:
print(鈥渃omputer GANOOOO!!!鈥)
else:
print(鈥淓MPATEEE!!!鈥)

Este juego lo hice al principio de la clase, solo quiero sacar el nuevo diploma de python.

undefined