Un exemple de réponse à la question de référence de la session d'étude. Avec python.

Un autre exemple de réponse à la question de référence (http://qiita.com/items/cbc3af152ee3f50a822f) de la session d'étude (http://atnd.org/events/30285) prévue pour le 7/6 (vendredi). J'ai décidé d'écrire dans un langage qui n'est pas encore sorti, donc python.

poka.py


# -*- coding: utf-8 -*-
import re

Q=[ "DASAD10CAHA", "S10HJDJCJSJ",
  "S10HAD10DAC10", "HJDJC3SJS3",
  "S3S4H3D3DA", "S2HADKCKSK",
  "SASJDACJS10", "S2S10H10HKD2",
  "CKH10D10H3HJ", "C3D3S10SKS2",
  "S3SJDAC10SQ", "C3C9SAS10D2"]

def hand_name( d ):
  if d==[1,4]:  return '4K'
  if d==[2,3]:  return 'FH'
  if d==[1,1,3]:  return '3K'
  if d==[1,2,2]:  return '2P'  
  if d==[1,1,1,2]:  return '1P'
  return '--'

def rank_dist( ranks ):
  map={}
  for r in ranks:
    if r in map:
      map[r]+=1
    else:
      map[r]=1
  dist = map.values()
  dist.sort()
  return dist
  
p = re.compile( r"[SHDC]([JQKA\d]+)"*5)
for q in Q:
  mo=p.match( q )
  ranks=sorted( [ mo.group( x+1 ) for x in range(5) ] )
  dist=rank_dist( ranks )
  print hand_name( dist )

Je n'ai presque aucune expérience avec python, donc je pense que je peux probablement écrire beaucoup mieux. Surtout, la fonction rank_dist semble très stupide.

Il y avait une telle fraîcheur que j'ai dû écrire retour et je me demande si je pourrais omettre les parenthèses.

La notation d'inclusion de liste est la meilleure partie, je dois donc l'utiliser.

Recommended Posts

Un exemple de réponse à la question de référence de la session d'étude. Avec python.
Comment connaître la structure interne d'un objet en Python
[Python] PCA scratch dans l'exemple de "Introduction à la méthode d'analyse multivariée"
"Un livre pour former des compétences en programmation pour combattre dans le monde" Exemple de réponse au code Python --1.4 Séquence de phrases
"Livre pour former la capacité de programmation à se battre dans le monde" Exemple de réponse de code Python --1.9 Rotation de la chaîne de caractères
Comment obtenir le nombre de chiffres en Python
Reproduire l'exemple d'exécution du chapitre 4 de Hajipata en Python
Reproduire l'exemple d'exécution du chapitre 5 de Hajipata en Python
Pour faire l'équivalent de Ruby ObjectSpace._id2ref en Python
"Livre pour former la capacité de programmation à se battre dans le monde" Exemple de réponse de code Python --1.3 URLify
"Livre pour former la capacité de programmation à se battre dans le monde" Exemple de réponse au code Python - 2,6 fois
"Livre pour former la capacité de programmation à se battre dans le monde" Exemple de réponse de code Python --1.2 Compter le nombre des mêmes caractères
"Livre pour former des compétences en programmation pour combattre dans le monde" Exemple de réponse de code Python --2.4 Fractionnement de la liste
Dans la commande python, python pointe vers python3.8
"Un livre pour former les compétences de programmation pour combattre dans le monde" Exemple de réponse de code Python --2.7 nœuds d'intersection
"Livre pour former la capacité de programmation à se battre dans le monde" Exemple de réponse au code Python - Matrice de 1,8 "0"
Une alternative à `pause` en Python
Un moyen simple d'accéder à l'API produit Amazon en Python
Le 15e comment écrire un problème de référence en temps réel hors ligne en Python
Comment vérifier la taille de la mémoire d'une variable en Python
Exportez le contenu de ~ .xlsx dans le dossier en HTML avec Python
J'ai écrit le code pour écrire le code Brainf * ck en python
Comment vérifier la taille de la mémoire d'un dictionnaire en Python
[Python] Explique comment utiliser la fonction format avec un exemple
Le 14ème problème de référence d'écriture en temps réel hors ligne en python
Différentes façons de créer un tableau de nombres de 1 à 10 en Python.
Le 18ème comment écrire un problème de référence en temps réel hors ligne en Python
"Un livre pour former les compétences de programmation pour combattre dans le monde" Exemple de réponse de code Python --3.1 Trois piles
Vérifiez le comportement du destroyer en Python
L'histoire d'une erreur dans PyOCR
Le résultat de l'installation de python sur Anaconda
Pour référencer des variables d'environnement en Python dans Blender
Principes de base pour exécuter NoxPlayer en Python
À la recherche du FizzBuzz le plus rapide en Python
Exemple pratique d'architecture hexagonale en Python
[Question] Comment utiliser plot_surface de python
[Python] J'ai essayé de résumer le type collectif (ensemble) d'une manière facile à comprendre.
17ème problème de référence d'écriture en temps réel hors ligne implémenté en Python
Comparer la grammaire de base de Python et Go d'une manière facile à comprendre
Remarque Python: lorsque vous souhaitez connaître les attributs d'un objet
Je veux convertir par lots le résultat de "chaîne de caractères" .split () en Python
Je veux expliquer en détail la classe abstraite (ABCmeta) de Python
Je veux colorer une partie de la chaîne Excel avec Python
Ouvrez un fichier Excel en Python et coloriez la carte du Japon
Je souhaite laisser une commande arbitraire dans l'historique des commandes de Shell
J'ai fait un programme pour vérifier la taille d'un fichier avec Python
"Livre pour former des compétences en programmation pour combattre dans le monde" Exemple de solution de code Python --1.1 Chaîne de caractères en double
[Question] Dans la régression de forêt aléatoire de sk-learn, une erreur se produit lorsque le nombre de parallèles est défini sur -1.
Différentes façons de lire la dernière ligne d'un fichier csv en Python
Comment passer le résultat de l'exécution d'une commande shell dans une liste en Python
Comment utiliser la bibliothèque C en Python
Constantes Python comme None (selon la référence)
[Python] Trier la liste de pathlib.Path dans l'ordre naturel
Vous serez ingénieur dans 100 jours - Jour 29 - Python - Bases du langage Python 5
Je souhaite utiliser Python dans l'environnement de pyenv + pipenv sous Windows 10
Résumé de la façon d'importer des fichiers dans Python 3
Vous serez ingénieur dans 100 jours - Jour 33 - Python - Bases du langage Python 8
Vous serez ingénieur dans 100 jours --Jour 26 --Python --Basiques du langage Python 3
Récupérer l'appelant d'une fonction en Python