13.07.2015 Views

Programaci´on—Prueba solemne 3, viernes 18 de junio de ... - csrg

Programaci´on—Prueba solemne 3, viernes 18 de junio de ... - csrg

Programaci´on—Prueba solemne 3, viernes 18 de junio de ... - csrg

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

4. En los juegos <strong>de</strong> naipes, una carta tiene dos atributos: un valor (A, 2, 3, 4, 5, 6, 7, 8, 9, 10, J, Q o K) yuna pinta (♥, ♠, ♦ o ♣).En un programa, una carta pue<strong>de</strong> ser representada como una tupla <strong>de</strong> dos elementos: el valor y lapinta. El valor es un número <strong>de</strong>l 1 al 13, y la pinta es un string ('C', 'P', 'D' o 'T').Una mano pue<strong>de</strong> ser representada como un conjunto <strong>de</strong> cartas. Por ejemplo, uno pue<strong>de</strong> representarla mano 5♣ 2♥ 1♠ Q♥ K♣ <strong>de</strong> la siguiente manera:mano = {(5, 'T'), (2, 'C'), (1, 'P'), (12, 'C'), (13, 'T')}En el carioca (un juego <strong>de</strong> naipes chileno) una escala es una mano <strong>de</strong> cuatro cartas que tienen la mismapinta y que tienen valores consecutivos. Por ejemplo:3♥ 6♥ 5♥ 4♥ es una escala, ya que todas las cartas tienen pinta ♥ y valores consecutivos<strong>de</strong>s<strong>de</strong> el 3 hasta el 6.3♣ 6♦ 5♦ 4♥ no es una escala, ya que las cartas tienen pintas diferentes.3♣ A♣ J♣ 5♣ no es una escala, ya que los valores no son consecutivos.3♠ 4♠ 5♠ no es una escala, ya que la mano no tiene cuatro cartas.Escriba una función es_escala(mano) que indique si la mano es una escala o no:>>> es_escala({(3, 'C'), (6, 'C'), (5, 'C'), (4, 'C')})True>>> es_escala({(3, 'T'), (6, 'D'), (5, 'D'), (4, 'C')})False>>> es_escala({(3, 'T'), (1, 'T'), (11, 'T'), (5, 'T'))False>>> es_escala({(3, 'C'), (4, 'C'), (5, 'C')})False

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!