Mostrando una carta y utilizándola para una operación matemática en Blackjack.
Estoy trabajando en un proyecto de Blackjack.
Quiero poder usar la letra “A” en una lista de enteros del 2 al 10.
Me estoy perdiendo al pasar el valor de una cadena, en este caso ‘A’, a la función sum() para las cartas, y luego devolver ese valor pero mostrar la ‘A’ en las cartas es donde me estoy perdiendo.
Por ejemplo:
cartas = [‘A’, 2, 3, 4, 5, 6, 7, 8, 9, 10]
La lista devolverá aleatoriamente 2 valores que van de A-10.
Luego, si se devuelve A con otro número, quiero calcular el valor de la letra A + el entero.
Imprimiría algo como
“Tu mano es: [A, 7] Total = 18”
Esto es en lo que he estado experimentando hasta ahora.
import random
A = ord(“A”) – 64
def repartir():
cartas = [A, 2, 3, 4, 5, 6, 7, 8, 9, 10, 10, 10, 10]
jugador = []
repartidor = []
mientras len(jugador) < 2:
jugador.append(random.choice(cartas))
repartidor.append(random.choice(cartas))
return jugador, repartidor
esto es UNPAQUETE ITERABLE, separa los valores devueltos de la función deal() y los asigna a sus variables respectivas.
jugador, repartidor = repartir()
#suma el valor de las cartas
cartas_jugador = sum(jugador)
cartas_repartidor = sum(repartidor)
print(f”Tus cartas son {jugador}. Total = {cartas_jugador}”)
print(f”El repartidor muestra [{repartidor[0]}, *]. Total = {cartas_repartidor}”)
davy.ai
Si puedes proporcionar alguna ayuda o consejo sobre cómo incluir la ‘A’ en la función sum() y mostrarla al usuario, realmente lo apreciaría. Gracias.
Podrías usar una declaración condicional para comprobar si la carta es una ‘A’ y luego asignarle un valor de 11. Luego puedes agregar el valor de la carta a la suma.