Advertisement
teslariu

piedra-papel-tijera

Feb 9th, 2022
1,013
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3.  
  4. # Hacer un script que implemente el juego de piedra, papel o tijera.
  5. # piedra le gana a tijera (la aplasta)
  6. # papel le gana a la piedra (la envuelve)
  7. # tijera le gana al papel (lo corta)
  8. import random
  9. print("Juega contra la computadora a PIEDRA; PAPEL O TIJERA")
  10.  
  11. def menu():
  12.     return """
  13.     *--------------------------------*
  14.     Menu de opciones:
  15.     1. Jugar contra la computadora
  16.     2. Salir
  17.     *--------------------------------*
  18.     """
  19.    
  20. def ingresar_rondas():
  21.     while True:
  22.         rondas = input("Ingrese la cantidad de rondas: ")
  23.         if rondas.isdecimal() and int(rondas):   # me aseguro que sea nro natural
  24.             return int(rondas)
  25.         else:
  26.             print("Debe ingresar un entero positivo")
  27.            
  28. """
  29. Se puede mejorar con dos funciones: validar entrada de usuario
  30. y función quien gano
  31. """
  32.  
  33.  
  34. def jugar(rondas):
  35.     opciones = ['piedra', 'papel', 'tijera']
  36.     puntos_usuario = 0
  37.     puntos_computadora = 0
  38.    
  39.     for i in range(rondas):
  40.         print(f"\nRonda {i+1}:")
  41.        
  42.         while True:
  43.             valor_usuario = input("Elija 'piedra', 'papel' o 'tijera': ")
  44.             if valor_usuario.lower() in opciones:
  45.                 break
  46.             else:
  47.                 print("Opción incorrecta...")
  48.        
  49.         valor_computadora = random.choice(opciones)
  50.         print(f"La computadora eligió {valor_computadora}")
  51.        
  52.         if valor_usuario == valor_computadora:
  53.             puntos_usuario = puntos_usuario + 0.5
  54.             puntos_computadora = puntos_computadora + 0.5
  55.             print("Ronda empatada")
  56.            
  57.         elif (valor_usuario == "papel" and valor_computadora == "piedra") or \
  58.             (valor_usuario == "tijera" and valor_computadora == "papel") or\
  59.             (valor_usuario == "piedra" and valor_computadora == "tijera"):
  60.             puntos_usuario = puntos_usuario + 1
  61.             print("Ronda ganada por usuario")
  62.                        
  63.         else:
  64.             puntos_computadora = puntos_computadora + 1
  65.             print("Ronda ganada por la computadora")
  66.            
  67.         print(f"Resultado parcial: usuario {puntos_usuario} - computadora {puntos_computadora}")
  68.        
  69.     print(f"Resultado final: usuario {puntos_usuario} - computadora {puntos_computadora}")
  70.            
  71.     if puntos_usuario > puntos_computadora:
  72.         print("Felicitaciones, usted ha ganado")
  73.        
  74.     elif puntos_usuario < puntos_computadora:
  75.         print("Ha sido un empate")
  76.        
  77.     else:
  78.         print("Ha perdido contra la computadora. La próxima vez será  JAJAJA")
  79.  
  80. while True:
  81.     print(menu())
  82.    
  83.     opcion = input("Seleccione su opción: ")
  84.        
  85.     if opcion == "1":
  86.         rondas = ingresar_rondas()
  87.         jugar(rondas)
  88.        
  89.     elif opcion == "2":
  90.         print("Gracias por jugar con nosotros...")
  91.         break
  92.        
  93.     else:
  94.         print("Opción incorrecta...")
  95.        
  96.    
Advertisement
RAW Paste Data Copied
Advertisement