Ein Beispiel für die Antwort auf die Referenzfrage der Studiensitzung. Mit Python.

Ein weiteres Beispiel für die Antwort auf die Referenzfrage (http://qiita.com/items/cbc3af152ee3f50a822f) der Studiensitzung (http://atnd.org/events/30285), die am 6. Juli (Freitag) stattfinden soll. Ich habe beschlossen, in einer Sprache zu schreiben, die noch nicht herausgekommen ist, also 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 )

Ich habe fast keine Erfahrung mit Python, daher denke ich, dass ich wahrscheinlich viel besser schreiben kann. Insbesondere die Funktion rank_dist fühlt sich sehr dumm an.

Es war so frisch, dass ich eine Rückmeldung schreiben musste und ich frage mich, ob ich die Klammern weglassen könnte.

Die Notation der Listeneinbeziehung ist der beste Teil, daher muss ich sie verwenden.

Recommended Posts

Ein Beispiel für die Antwort auf die Referenzfrage der Studiensitzung. Mit Python.
Wie Sie die interne Struktur eines Objekts in Python kennen
[Python] PCA-Scratch im Beispiel "Einführung in die multivariate Analysemethode"
"Ein Buch zum Trainieren von Programmierkenntnissen für den Kampf in der Welt" Python-Code-Antwortbeispiel --1.4 Satzfolge
"Buch, um die Programmierfähigkeit zu trainieren, um in der Welt zu kämpfen" Python-Code-Antwortbeispiel --1.9 Drehung der Zeichenkette
So ermitteln Sie die Anzahl der Stellen in Python
Reproduzieren Sie das Ausführungsbeispiel von Kapitel 4 von Hajipata in Python
Reproduzieren Sie das Ausführungsbeispiel von Kapitel 5 von Hajipata in Python
Um das Äquivalent von Rubys ObjectSpace._id2ref in Python zu tun
"Buch, um die Programmierfähigkeit zu trainieren, um in der Welt zu kämpfen" Python-Code-Antwortbeispiel --1.3 URLify
"Buch, um Programmierkenntnisse zu trainieren, um in der Welt zu kämpfen" Python-Code-Antwortbeispiel - 2,6-mal
Beispiel für die Antwort auf den Python-Code --1.2 Zählen Sie die Anzahl der gleichen Zeichen
"Buch, um Programmierkenntnisse zu trainieren, um in der Welt zu kämpfen" Python-Code-Antwortbeispiel --2.4 Aufteilen der Liste
Im Python-Befehl zeigt Python auf Python3.8
Beispiel für die Beantwortung von Python-Code-Antworten --2.7 Schnittknoten
"Buch, um die Programmierfähigkeit zu trainieren, um in der Welt zu kämpfen" Python-Code-Antwortbeispiel - 1,8 "0" -Matrix
Eine Alternative zu "Pause" in Python
Eine einfache Möglichkeit, die Amazon-Produkt-API in Python aufzurufen
Das 15. Offline-Echtzeit-Schreiben eines Referenzproblems in Python
So überprüfen Sie die Speichergröße einer Variablen in Python
Geben Sie den Inhalt von ~ .xlsx im Ordner mit Python in HTML aus
Ich habe den Code geschrieben, um den Brainf * ck-Code in Python zu schreiben
So überprüfen Sie die Speichergröße eines Wörterbuchs in Python
[Python] Erklärt anhand eines Beispiels, wie die Formatierungsfunktion verwendet wird
Das 14. Referenzproblem beim Schreiben in Echtzeit in Python
Verschiedene Möglichkeiten, um in Python ein Array von Zahlen von 1 bis 10 zu erstellen.
Das 18. Offline-Echtzeit-Schreiben eines Referenzproblems in Python
"Ein Buch zum Trainieren von Programmierkenntnissen für den Kampf in der Welt" Python-Code-Antwortbeispiel --3.1 Drei Stapel
Überprüfen Sie das Verhalten des Zerstörers in Python
Die Geschichte eines Fehlers in PyOCR
Das Ergebnis der Installation von Python auf Anaconda
Verweisen auf Umgebungsvariablen in Python in Blender
Grundlagen zum Ausführen von NoxPlayer in Python
Auf der Suche nach dem schnellsten FizzBuzz in Python
Praktisches Beispiel für hexagonale Architektur in Python
[Frage] Wie verwende ich plot_surface von Python?
[Python] Ich habe versucht, den kollektiven Typ (Satz) auf leicht verständliche Weise zusammenzufassen.
17. In Python implementiertes Referenzproblem für das Offline-Schreiben in Echtzeit
Ein leicht verständlicher Vergleich der grundlegenden Grammatik von Python und Go
Python Hinweis: Wenn Sie die Attribute eines Objekts kennen möchten
Ich möchte das Ergebnis von "Zeichenfolge" .split () in Python stapelweise konvertieren
Ich möchte die abstrakte Klasse (ABCmeta) von Python im Detail erklären
Ich möchte einen Teil der Excel-Zeichenfolge mit Python einfärben
Öffnen Sie eine Excel-Datei in Python und färben Sie die Karte von Japan
Ich möchte einen beliebigen Befehl im Befehlsverlauf von Shell belassen
Ich habe ein Programm erstellt, um die Größe einer Datei mit Python zu überprüfen
"Buch, um Programmierkenntnisse zu trainieren, um in der Welt zu kämpfen" Python-Code Lösungsbeispiel --1.1 Doppelte Zeichenfolge
[Frage] Bei der zufälligen Waldregression von sk-learn tritt ein Fehler auf, wenn die Anzahl der Parallelen auf -1 gesetzt wird.
Verschiedene Möglichkeiten, die letzte Zeile einer CSV-Datei in Python zu lesen
So übergeben Sie das Ergebnis der Ausführung eines Shell-Befehls in einer Liste in Python
Verwendung der C-Bibliothek in Python
Python-Konstanten wie None (laut Referenz)
[Python] Sortieren Sie die Liste von pathlib.Path in natürlicher Reihenfolge
Sie werden in 100 Tagen Ingenieur - 29. Tag - Python - Grundlagen der Python-Sprache 5
Ich möchte Python in der Umgebung von pyenv + pipenv unter Windows 10 verwenden
Zusammenfassung zum Importieren von Dateien in Python 3
Sie werden in 100 Tagen Ingenieur - Tag 33 - Python - Grundlagen der Python-Sprache 8
Sie werden in 100 Tagen Ingenieur - 26. Tag - Python - Grundlagen der Python-Sprache 3
Holen Sie sich den Aufrufer einer Funktion in Python