28-05-2021, 09:06 AM
Buenas, estoy terminando un curso de introducción a Python y me encuentro atascado en el trabajo final. Me piden que cree un juego de cartas entre dos jugadores (Humano y Ordenador) a cinco rondas. La carta mayor gana en cada ronda y, al cabo de las cinco, sumo los puntos de cada jugador y decreto al ganador. El código que llevo ya me permite repartir cartas a dos jugadores y compararlas, pero no sé si las estoy comparando bien. El profesor me sugirió que para los tantos que no son números, cree un diccionario con sus equivalencias en número, pero no sé cómo comparar estrictamente los tantos y luego imprimir los tantos que no son números (sota, caballo, rey, as).
¿Podría alguien darme una mano? Muchas gracias desde ya. Copio a continuación el código que llevo:
¿Podría alguien darme una mano? Muchas gracias desde ya. Copio a continuación el código que llevo:
Código:
import random
tantos = {2: "dos", 3: "tres", 4: "cuatro", 5: "cinco", 6: "seis", 7: "siete", 8: "sota", 9: "caballo", 10: "rey", 11: "as"}
palos = ["oros", "copas", "espadas", "bastos"]
baraja = []
for t in tantos:
for p in palos:
carta = "{} de {}".format(t,p)
baraja.append(carta)
random.shuffle(baraja)
Humano = [[]]
Ordenador = [[]]
for i in range(1):
for j in range(1):
Humano[j].append(baraja.pop(0))
for i in range(1):
print("Humano")
for j in range (1):
print("{:16}".format(Humano[i][j]), end=" ")
print()
for i in range(1):
for j in range(1):
Ordenador[j].append(baraja.pop(0))
for i in range(1):
print("Ordenador")
for j in range (1):
print("{:16}".format(Ordenador[i][j]), end=" ")
print()
if Humano>Ordenador:
print("Gana el humano")
else:
print("Gana el ordenador")