Uno (Parte 1)
Esta pregunta está inspirada en el popular juego de cartas Uno.
Escribe una función que reciba dos argumentos: (1) la mano actual de un jugador y (2) la carta que está boca arriba sobre la mesa (face). La función devolverá True si el jugador puede hacer una jugada, o False si tiene que robar una carta del mazo.
Un jugador puede hacer una jugada si se cumple al menos una de estas condiciones:
- Tiene una carta del mismo color que la carta boca arriba (face).
- Tiene una carta con el mismo número que la carta boca arriba (face).
can_play(["yellow 3", "yellow 7", "blue 8", "red 9", "red 2"], "red 1") ➞ True
# Esto se debe a que el jugador tiene dos cartas rojas y la carta boca arriba (face) es roja.
can_play(["yellow 3", "yellow 7"], "blue 7") ➞ True
# Esto se debe a que el jugador tiene un 7 y la carta boca arriba (face) es un 7.Ejemplos
can_play(["yellow 3", "yellow 5", "red 8"], "red 2") ➞ True
can_play(["yellow 3", "yellow 5", "red 8"], "blue 5") ➞ True
can_play(["yellow 3", "blue 5", "red 8", "red 9"], "green 4") ➞ False
can_play(["yellow 3", "red 8"], "green 2") ➞ FalseNotas
- Devuelve
Falsesi el jugador no tiene ninguna carta en la mano (una lista vacía). - Este mazo no contiene cartas especiales ni comodines.