Créer une table de paiement pour une piste de bowling est un problème. Très bien, laissons __PC le faire __.
Une personne inexpérimentée et peu familiarisée avec les systèmes d'information a tenté de mettre en place un outil pour la première fois. J'espère que cela sera utile comme exemple d'amélioration de l'efficacité du travail que même les débutants peuvent faire.
Les compétitions de quilles compétitives nécessitent une table pour répartir les joueurs dans les couloirs. Ce tableau de paiement indique qu '"un joueur ne sera pas payé plus d'une fois pour la même boîte" et "deux personnes ne seront pas payées plus d'une fois pour la même boîte en même temps (en bref," Est-ce la même boîte que vous? " «Ne se produit pas)» est requis. Je ne pense pas que quiconque en dehors du bowling le sache bien, vous pouvez donc l'ignorer. Quoi qu'il en soit, il est assez difficile de créer cela manuellement + de le vérifier avec vos yeux (cela prend plus d'une heure aux humains pour le faire), alors automatisons-le avec un outil. Je mets le produit fini en fin de page, donc si vous aimez (y a-t-il une demande?).
① Attribuez des voies aux joueurs avec des nombres aléatoires ② Trouvez une pièce qui ne remplit pas les conditions ③ Mélangez uniquement la zone à problème ④ Répétez ②③ jusqu'à ce que la zone à problème devienne 0 ⑤ Sortie des informations nécessaires
Pour le moment, j'ai créé manuellement un tableau de paiement des voies en utilisant des nombres aléatoires dans Excel et automatisé uniquement la détection des zones à problèmes. Depuis que je suis parti d'une situation où je ne comprenais même pas les fonctions d'Excel, j'ai implémenté un mécanisme de vérification tout en googlant diversement. Je suis reconnaissant qu'il y ait beaucoup d'informations liées à Excel sur le net. problème -Le nombre de joueurs et le nombre de cases utilisées étant différents pour chaque tournoi, il est nécessaire d'assembler manuellement le mécanisme de contrôle à chaque fois (c'est gênant). ・ La compatibilité de l'énumération en combinaison avec Excel est extrêmement mauvaise.
C'est un problème, j'ai donc voulu aller plus loin avec l'automatisation. Très bien, faisons-le avec la programmation. Mais vous ne pouvez utiliser aucun langage de programmation. Vous apprendrez donc Python3 [^ 1]. Python est visuellement incroyablement facile à comprendre, je le recommande donc comme langue maternelle. J'ai également considéré Excel VBA (soi-disant "macro"), mais je me suis arrêté car il semble maladroit et peu polyvalent. L'implémentation était juste faite, mais c'était assez difficile (dans AtCoder, on a l'impression de connecter les implémentations d'environ Diff800). Au final, c'était environ 400 lignes. J'ai également réalisé à quel point il est difficile d'écraser le boîtier d'angle. problème -Comme il est entré et sorti sous forme de chaîne de caractères sur Python, il est nécessaire de le copier et de le coller avec un fichier Excel, ce qui est un peu difficile à utiliser.
À partir de là, nous avons cherché à améliorer la méthode d'entrée / sortie. Cette fois, j'ai utilisé le module openpyxl qui peut gérer les fichiers Excel sur Python. Un module est comme une boîte à outils, et son importation étend ce que vous pouvez faire sur Python. Python est particulièrement riche en modules, donc je suis vraiment reconnaissant. En utilisant ce module, l'entrée et la sortie peuvent être effectuées sur Excel. openpyxl est particulièrement utile, je voudrais donc continuer à l'utiliser de manière positive à l'avenir. problème ・ Cet outil ne peut pas être partagé avec des personnes qui n'ont pas installé Python.
Nous visions à le développer davantage et à en faire une application GUI qui fonctionne en entrant des caractères dans le cadre et en sortant le tableau de dividende de voie sous forme de fichier Excel. En fait, j'ai utilisé le module tkinter de Python (pas Tinder). Je n'avais aucune connaissance préalable, alors j'avais l'impression d'être simplement recherché sur Google, mais j'ai beaucoup appris. Il a été complété en tant qu'application GUI en convertissant le code source Python écrit en un fichier exe à l'aide de pyinstaller. Désormais, même les personnes qui ne peuvent pas utiliser Python peuvent utiliser l'outil. ↑ Si vous entrez comme ça ... ↑ Il est sorti sous forme de fichier Excel comme celui-ci.
La liste des noms est tirée du classement des prix PBA 2019. C'est un tournoi de rêve.
L'application complétée peut être téléchargée depuis ici (Dropbox). Veuillez jouer avec.
Merci d'avoir lu jusqu'au bout. En fait, j'ai pensé à transformer cet outil en application WEB, mais j'ai abandonné pour le moment car je n'avais aucune connaissance du html. Je rapporterai à nouveau si je conteste html.
Parallèlement à la mise en place de cet outil, nous avons également lancé Atcoder, un concours de programmation. La programmation compétitive a été utile! J'entends quelque chose comme ça, mais c'est utile pour s'habituer à la gestion de base des listes, etc., et je pense que le contenu jusqu'à la première moitié du vert est également utile pour la vie réelle des personnes non informatives.
[^ 1]: Easy Python (Mana Takahashi, SB Creative), Ce livre était facile à comprendre malgré son nom, et je le recommande.
Recommended Posts