[GO] Reproduisons l'outil d'enseignement de l'arithmétique "Jamaica" ❗️ vol.01 "Notes pour l'affichage des images en Python"

introduction

Cette série concerne un certain ** outil d’enseignement arithmétique "Jamaica" </ font> ** C'est un record de lutte pour atteindre les objectifs suivants.

** ▶ ︎ </ font> 1. ** *** Vous pourrez lancer le jeu "Jamaica" avec un programme qui utilise l'affichage d'image. *** *** ** 2. ** *** Créer un programme pour rechercher et présenter l'existence et le contenu de solutions pour toute combinaison de dés en "Jamaïque". *** ***

Q1. Qu'est-ce que l'outil d'enseignement arithmétique "Jamaica" </ font>?

A1. "Jamaica" est vendu comme un outil d'enseignement arithmétique avec le thème du "jeu des nombres" en utilisant des dés </ font>.

■ *** Il s'agit d'un produit général qui est également vendu sur des sites d'achat en ligne tels qu'Amazon et Yahoo! Shopping. *** *** ➡︎ Cliquez ici pour la page de vente Amazon (https://www.amazon.co.jp/dp/4902756161/ref=cm_sw_r_tw_dp_U_x_XrEPEbCJ5VRST). ➡︎ Veuillez vous référer à la figure ci-dessous pour l'image (citée de la page ci-dessus) qiita1_jamaica_red.jpg ➡︎ Veuillez vous référer au tableau ci-dessous pour des informations détaillées telles que les éditeurs (cités à partir de la page ci-dessus)

Catégorie/ Category information/ Information
l'éditeur/ publisher Tableau de calcul Tomoe(2006/12/8)
Langue/ language Japonais/ Japanese
ISBN-10 4902756161
ISBN-13 978-4902756166
Date de sortie/ release date 2006/12/8
Taille d'emballage/ packing size 13 × 10.6 × 2 cm

■ *** Il existe deux types de dés, blanc et noir, et 5 et 2 sont inclus, respectivement. *** *** ➡︎ Un dé blanc x 5 et un dé noir x 1 sont attachés à la partie anneau, et un dé noir x 1 est attaché à la partie centrale.

Couleur/ Color quantité/ amount Numéros répertoriés/ Numbers
blanc/ white 5 pièces/ 5 dice 1, 2, 3, 4, 5, 6
noir/ black 1 pièce/ 1 dice 1, 2, 3, 4, 5, 6
noir/ black 1 pièce/ 1 dice 10, 20, 30, 40, 50, 60

Q2. Qu'est-ce que la de la Jamaïque comment jouer </ font>?

A2. Exécutez quatre règles </ font> en utilisant chacun des dés blancs x 5 nombres une fois pour faire la somme des dés noirs x 2 nombres.

Par exemple, si le jet de dés blanc est (1,2,3,5,5) et le jet de dés noir est (10,6), Vous pouvez ajouter tous les lancers des dés blancs pour créer l'équation 1 + 2 + 3 + 5 + 5 = 10 + 6.

qiita002_jamaica_sample_sizedown.png

■ *** Les dés blancs x 5 numéros ne peuvent être utilisés qu'une seule fois chacun. *** *** ➡︎ Par exemple, si le jet de dés blanc est (2,4,5,3,3), il peut être utilisé pour le calcul. 2 est 1 fois, 3 est 2 fois, 4 est 1 fois, 5 est 1 fois. N'en utilisez plus. (Vous ne pouvez pas utiliser 2 deux fois ou 3 trois fois.) ➡︎ Bien sûr, ** "Ne pas utiliser le nombre de fois spécifié" est également une loi **. (Dans l'exemple ci-dessus, vous ne pouvez pas utiliser 3 une seule fois.)

■ *** Quatre règles sont addition, soustraction, multiplication et division </ font>. *** *** ➡︎ ** "Addition" ** </ font> est "addition", c'est-à-dire ** "addition" **. Par exemple, calculez la somme (résultat de l'addition) telle que 2 + 3 = 5. </ font> ➡︎ ** "Decrease" ** </ font> signifie "diminuer" ou ** "soustraire" **. Par exemple, calculez la différence (résultat de la soustraction) telle que 5-2 = 3. </ font> ➡︎ ** "Multiply" ** </ font> est un "multiplicateur", c'est-à-dire ** "multiplier" **. Par exemple, calculez le produit (résultat de la multiplication) tel que 3 × 4 = 12. </ font> ➡︎ ** "Exclusion" ** </ font> est "division", c'est-à-dire ** "division" **. Par exemple, calculez le quotient (résultat de la division *) tel que 4/2 = 2. </ font>

  • Il existe des règles qui n'autorisent que des opérations divisibles, c'est-à-dire des règles qui n'autorisent pas les fractions irréductibles et des règles qui autorisent des fractions irréductibles. [1] ** Dans le cas d'une règle qui n'autorise pas les fractions irréductibles ** Lorsque les dés blancs lancent (2,4,6,3,5), vous pouvez calculer 6/3 = 2, mais Le résultat 6/4 = 3/2 n'est pas disponible. [2] ** Dans le cas d'une règle qui autorise les choses qui sont des fractions contractées ** Lorsque les dés blancs lancent (2,4,6,3,5), non seulement le calcul 6/3 = 2 peut être effectué, mais aussi Le résultat 6/4 = 3/2 est également disponible.
  • ** Certains jets de dés ne peuvent pas être résolus sans utiliser les fractions irréductibles. ** </ font> Exemple) Quand les dés blancs lancent (2,2,4,4,6) et les dés noirs (30,3) L'équation {(2-2 / 4) + 4} x 6 = 30 + 3 est vraie. </ font>

■ *** Les quatre règles de fonctionnement peuvent être exécutées dans n'importe quel ordre. *** *** ➡︎ Vous pouvez d'abord ajouter les deux nombres, puis multiplier par un autre nombre. En d'autres termes, vous pouvez utiliser des parenthèses un nombre illimité de fois n'importe où. Exemple) Quand les dés blancs lancent (3,6,4,4,1) et les dés noirs (20,6) L'équation {(3 + 6) + (4 × 4)} + 1 = 20 + 6 est vraie. </ font>

§1. Reproduire "Jamaica" </ font>

Depuis que j'ai acheté un jouet appelé Jamaica, je pense que c'est amusant de le faire avec la vraie chose, mais progressivement *** "Je veux reproduire avec du code ..." *** *** "Je souhaite partager l'écran d'une réunion en ligne ensemble ..." *** J'en suis venu à le penser.

Ainsi, avec l'envie de poster la première Qiita, cette série est née.

Le titre de la série est ** Reproduisons l'outil d'enseignement de l'arithmétique "Jamaica" </ font> ❗️ ** est.

Jetez un œil aux enregistrements des débutants en programmation qui ont du mal à recréer la Jamaïque.

*"Remarques"* * [1] Cette série utilise un service appelé Google Colabatory pour préparer et publier les résultats d'essais et d'erreurs dans le fichier Jupyter Notebook (.ipynb). * * [2] La version Python est la 3.6.9. Cela a été confirmé en utilisant le code ci-dessous. *

confirmPythonVer


import platform
print('python ' + platform.python_version())
> python 3.6.9

↑↑↑ * L'URL de référence du code ci-dessus provient de ici * </ font> [^ ref001] * [3] Les autres bibliothèques requises seront décrites chaque fois qu'elles seront utilisées. * </ font>

Task.001 "Afficher le jet de dés sous forme d'image"

■ Dans la Jamaïque réaliste, un total de 7 dés bicolores sont utilisés. ■ La répartition des couleurs et des nombres de dés est la suivante. (Republier)

Couleur/ Color quantité/ amount Numéros répertoriés/ Numbers
blanc/ white 5 pièces/ 5 dice 1, 2, 3, 4, 5, 6
noir/ black 1 pièce/ 1 dice 1, 2, 3, 4, 5, 6
noir/ black 1 pièce/ 1 dice 10, 20, 30, 40, 50, 60

■ Je souhaite afficher le résultat de ces dés sous forme d'image.

Étape 1. Préparez une image des dés. (Cette fois, je l'ai créé avec Microsoft PowerPoint. L'extension est .png) Étape 2. Enregistrez l'image des dés dans le dossier spécifié de Google Drive. '/content/drive/My Drive/Mathematics/MathProgramming/MathPro-Jamaica/Jamaica-figs/' Étape 3. Essayez d'afficher chacune des images de dés préparées. ↓ ↓ ↓ Voir ci-dessous pour les noms de fichiers spécifiques.

nom de fichier:'dice-' 'Couleur(blanc=w,noir=b)' '-' 'Numéro 1-6, 10-60)' '.png'
Exemple) dice-w-4.png =4 dés blancs
Exemple) dice-b-20.png =20 dés noirs

** _____ [Article de référence] _____ ** [^ ref002] Task001 | Comment afficher des images en Python ➡︎ La grammaire de base de l'affichage des images est citée ici. [^ ref003] Task001 | Organiser les images dans une grille et effacer les étiquettes des axes ➡︎ Un article avec le code qui semble être le meilleur moyen d'afficher plusieurs images côte à côte dans une liste.

task001_black10


import matplotlib
import matplotlib.pyplot as plt
import matplotlib.image as mpimg

wheredrive = '/content/drive/My Drive/Mathematics/MathProgramming/MathPro-Jamaica/'
wherefigs = wheredrive + 'Jamaica-figs/'
whereimg = wherefigs + 'dice-b-10.png'
print('Référence du fichier image:',whereimg)
img = mpimg.imread(whereimg)
imgplot = plt.imshow(img)
plt.axis('off') #'on'Lorsqu'il est défini sur, les axes de grille verticaux et horizontaux sont également affichés pour chaque image.
>Référence du fichier image:/content/drive/My Drive/Mathematics/MathProgramming/MathPro-Jamaica/Jamaica-figs/dice-b-10.png

qiita003_jamaica_task001_black10.png

task001_white1to6


import numpy as np

row = 1 #Nombre de lignes dans la matrice d'image pour afficher l'image
col = 6 #Nombre de colonnes dans la matrice de trame pour afficher l'image
plt.figure(figsize=(10,10)) #Spécification des paramètres pour ajuster la taille de chaque image
for num in range(row * col):
    plt.subplot(row, col, num+1) #Créer un cadre pour afficher l'image dans cette boucle
    imgname = 'dice-w-' + str(num+1) + '.png'
    whereimg = wherefigs + imgname
    img = mpimg.imread(whereimg)
    imgplot = plt.imshow(img)
    plt.axis('off') #'on'Lorsqu'il est défini sur, les axes de grille verticaux et horizontaux sont également affichés pour chaque image.

qiita003_jamaica_task001_white1to6.png

Task.002 "Affichage des images des lancers de dés selon des nombres aléatoires"

■ Dans la Jamaïque réaliste, lancez les dés au hasard. ■ L'opération de lancer un total de 7 dés est effectuée en produisant des nombres aléatoires. Procédure 1. Préparez 7 variables qui produisent de manière aléatoire des entiers positifs de 1 ou plus et de 6 ou moins. Étape 2. Associez le 1er au 5e résultats de la première moitié avec l'affichage de l'image des dés blancs. Étape 3. Associez le 6e résultat à l'affichage d'image des dés noirs à 2 chiffres. Étape 4. Associez le 7e résultat à l'affichage d'image d'un dé noir à 1 chiffre.

** _____ [Article de référence] _____ ** [^ ref004] Task002 | random, randrange, randint, etc. pour générer des fractions / entiers aléatoires en Python ➡︎ Vous pouvez voir divers modules liés à la génération de nombres aléatoires, il est donc bon de s'organiser. [^ ref005] Task002 | randint qui peut faire divers dés ➡︎ Tout le monde vérifie si la probabilité d'événement des dés qui les intéressent est également certaine.

task002_diceroll


row = 1 #Nombre de lignes dans la matrice d'image pour afficher l'image
col = 7 #Nombre de colonnes dans la matrice de trame pour afficher l'image
dices = np.random.randint(1,7,row * col) #La première variable est la valeur minimale de la population et la deuxième variable est la valeur maximale de la population.+Les première et troisième variables sont le nombre de nombres aléatoires à sortir
print('Résultats de 7 dés',dices)

plt.figure(figsize=(20,20))
for index in range(row * col):
  plt.subplot(row, col, index+1)
  if index < 5: #Jusqu'à 5 dés (lorsque l'indice est égal ou supérieur à 0 et 4) sont blancs et 1 chiffre
    imgname = 'dice-w-' + str(dices[index]) + '.png'
    whereimg = wherefigs + imgname
    img = mpimg.imread(whereimg)
    imgplot = plt.imshow(img)
    plt.axis('off')
  elif index < 6: #Le 6ème dé (lorsque l'indice est 5) est noir et a 2 chiffres
    imgname = 'dice-b-' + str(dices[index]) + str(0) + '.png'
    whereimg = wherefigs + imgname
    img = mpimg.imread(whereimg)
    imgplot = plt.imshow(img)
    plt.axis('off')
  elif index < 7: #Le 7ème dé (lorsque l'indice est 6) est noir et 1 chiffre
    imgname = 'dice-b-' + str(dices[index]) + '.png'
    whereimg = wherefigs + imgname
    img = mpimg.imread(whereimg)
    imgplot = plt.imshow(img)
    plt.axis('off')
  else:
    continue
>Résultats de 7 dés[6 5 1 4 2 4 3]

qiita004_jamaica_task002_diceroll.png

Aperçu de la prochaine fois

Cette fois, j'ai principalement écrit un mémorandum sur la façon d'afficher une image en Python et de simuler un lancer aléatoire de dés.

La prochaine fois, j'écrirai un mémo pour organiser ces codes par définition de fonction.

Le titre est ** vol.02 "Notes pour la création de fonctions en Python" **.

Résumé de l'article de référence

[^ ref001]: Demo | Vérifiez les informations de version de la librairie incluse dans colaboratory par défaut [^ ref002]: Task001 | Comment afficher des images en Python [^ ref003]: Task001 | Organiser les images dans une grille et effacer les étiquettes des axes [^ ref004]: Task002 | Fractions / entiers aléatoires générés par Python, random, randrange, randint, etc. [^ ref005]: Task002 | randint qui peut faire divers dés

Recommended Posts