Codigo de dilema del prisionero en Python
renzob04Tarea15 de Noviembre de 2023
750 Palabras (3 Páginas)146 Visitas
import random
from tabulate import tabulate
print("El juego del dilema del prisionero es un juego en el que dos personas, Xavier y Mia en este caso, son atrapadas "
"robando un banco y las autoridades les ofrecen la opción de cooperar o traicionarse mutuamente para construir un "
"caso en su contra. Cada uno de ellos debe tomar una decisión independientemente, sin poder comunicarse entre sí, "
"y deben decidir si quieren cooperar permaneciendo en silencio o traicionar a su pareja proporcionando testimonio"
" contra ellos.")
##Tabla
matriz = [["Remain Silent", "Both 1 year jail", "Xavier: Free, Mia: 10 years jail"],
["Betray", "Mia: Free, Xavier: 10 years jail", "Both 5 year jail"]]
head = ["Mia/Xavier", "Remain Silent", "Betray"]
print(tabulate(matriz,headers=head,tablefmt="grid"))
def jugar_computadora():
puntuacion_j1 = 0
puntuacion_computadora = 0
for i in range(5):
eleccion_j1 = input("Jugador 1, ¿quieres traicionar o cooperar? (t/c)")
eleccion_computadora = random.choice(["t", "c"])
if eleccion_j1 == "t" and eleccion_computadora == "t":
puntuacion_j1 += 5
puntuacion_computadora += 5
elif eleccion_j1 == "t" and eleccion_computadora == "c":
puntuacion_j1 += 0
puntuacion_computadora += 10
elif eleccion_j1 == "c" and eleccion_computadora == "t":
puntuacion_computadora += 0
puntuacion_j1 += 10
else:
puntuacion_j1 += 1
puntuacion_computadora += 1
print("Puntuación Jugador 1: ", puntuacion_j1)
print("Puntuación Computadora: ", puntuacion_computadora)
if puntuacion_j1 > puntuacion_computadora:
winner = "Jugador 1 es el ganador"
elif puntuacion_j1 < puntuacion_computadora:
winner = "La computadora es el ganador"
else:
winner = "Empate"
print(winner)
def jugar_2_personas():
puntuacion_j1 = 0
puntuacion_j2 = 0
for i in range(5):
eleccion_j1 = input("Jugador 1, ¿quieres traicionar o cooperar? (t/c)")
eleccion_j2 = input("Jugador 2, ¿quieres traicionar o cooperar? (t/c)")
if eleccion_j1 == "t" and eleccion_j2 == "t":
puntuacion_j1 += 5
puntuacion_j2 += 5
elif eleccion_j1 == "t" and eleccion_j2 == "c":
puntuacion_j1 += 0
puntuacion_j2 += 10
elif eleccion_j1 == "c" and eleccion_j2 == "t":
puntuacion_j1 += 10
puntuacion_j2 += 0
else:
puntuacion_j1 += 1
puntuacion_j2 += 1
print("Puntuación Jugador 1: ", puntuacion_j1)
print("Puntuación Jugador 2: ", puntuacion_j2)
if puntuacion_j1 > puntuacion_j2:
winner = "Jugador 1 es el ganador"
elif puntuacion_j1 < puntuacion_j2:
winner = "Jugador 2 es el ganador"
else:
winner = "Empate"
...