[GO] Reproduisons l'outil d'enseignement arithmétique "Jamaica" ❗️ vol.02 "Notes pour créer des fonctions 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". *** ***

Dernier examen

La dernière fois, j'ai traité du contenu suivant.

*** §1. Reproduire "Jamaica" </ font> *** *** Task.001 Afficher "Dice roll" comme une image *** *** Task.002 "Afficher l'image du jet de dés selon un nombre aléatoire" ***

Cela lancera les dés au hasard, Il est maintenant possible d'afficher côte à côte les images de jet des dés correspondant au jet.

** _____ [Article de référence] _____ ** [^ ref001] Souvenir | Reproduisons l'article précédent de l'outil d'enseignement arithmétique "Jamaïque" ❗️ (vol.01)

>Résultats de 7 dés[6 5 1 4 2 4 3]

qiita004_jamaica_task002_diceroll.png

§1. Reproduire la suite de "Jamaica" </ font>

Task.003 "Création d'une fonction d'affichage des images des lancers de dés"

■ L'action de lancer un dé dans la vraie Jamaïque est résumée par définition de fonction d'une manière facile à lire. ➡︎ Pour jouer à la Jamaïque en tant que jeu, il est préférable de pouvoir l'exécuter avec un code simple. ➡︎ D'un autre côté, le code d'affichage du jet de dés jamaïcain précédent semblait long. ➡︎ Simplifiez en définissant les fonctions suivantes selon la syntaxe de définition de fonction Python.

Une fonction qui spécifie l'emplacement du fichier fig du lecteur: figplace()
Fonction pour importer les bibliothèques nécessaires: libimports()
Np le rouleau de 7 dés.Fonction à afficher au format tableau: jmc_diceroll()
Fonction pour afficher le résultat du jet de dés en Jamaïque sous forme d'image: jmc_display()

** _____ [Article de référence] _____ ** [^ ref002] Task003 | Définir et appeler une fonction en Python (def, return) ➡︎ J'ai fait référence à la méthode de définition de la fonction et à la sortie de la valeur de retour.

task003_jmcfunctions1


###Une fonction qui renvoie une chaîne de caractères qui spécifie l'emplacement où le fichier image requis pour l'affichage du jet de dés est enregistré.
def figplace():
  wheredrive = '/content/drive/My Drive/Mathematics/MathProgramming/MathPro-Jamaica/'
  wherefigs = wheredrive + 'Jamaica-figs/'
  return wherefigs

###Fonction pour importer fréquemment les bibliothèques nécessaires (pas de valeur de retour)
def libimports():
  from google.colab import drive 
  drive.mount('/content/drive',force_remount=False) #Obtenez un montage pour accéder aux fichiers Google Drive sur Google Colabatory (définissez le deuxième argument sur True pour forcer à nouveau le montage)
  import matplotlib
  import matplotlib.pyplot as plt
  import matplotlib.image as mpimg
  import numpy as np

###Une fonction qui produit les résultats de 7 dés aléatoires, multiplie le résultat du 6e dés par 10 et renvoie le résultat des dés en utilisant la Jamaïque.
def jmc_diceroll(printOption):
  jmcDice = np.random.randint(1,7,7) #Np a généré aléatoirement 7 variables aléatoires avec des valeurs supérieures ou égales à 7.array(1*Vecteur de 7 lignes)Pour sortir
  jmcDice[5] = jmcDice[5]*10 #Multipliez le nombre des 6èmes dés noirs à 2 chiffres par 10 pour obtenir le résultat des dés jamaïcains.
  if printOption == True:
    print('Résultats jamaïcains de Die Roll:', jmcDice) #Lorsque printOption a la valeur True, le résultat du jet de dés est sorti.
  return jmcDice

###Une fonction pour afficher le résultat du dé jamaïcain sous forme d'image avec le rapport de la taille de l'image à afficher comme résultat de l'emplacement de stockage de l'image et du jet de dé comme argument (pas de valeur de retour)
def jmc_display(figPlace,jmcDice,sizeRatio): #1:Emplacement de stockage des images,2:Résultat de la mort,3:Rapport de taille d'image par défaut
  row = 1 #Nombre de lignes dans la matrice d'image pour afficher l'image
  col = jmcDice.shape[0] #Nombre de colonnes dans la matrice de trame pour afficher l'image
  fsizeDefault = 15 #Valeur par défaut pour chaque taille d'image
  fsize = round(fsizeDefault * sizeRatio) #Afficher la taille de l'image=Valeur par défaut*Rapport de taille d'image par défaut
  plt.figure(figsize=(fsize,fsize)) #Spécification des paramètres pour ajuster la taille de chaque image
  for index in range(row * col):
    plt.subplot(row, col, index+1)
    if index < 5: #L'index est de 0 à 4, c'est-à-dire que le 1er au 5e dés sont des dés blancs et une sortie d'image
      imgname = 'dice-w-' + str(jmcDice[index]) + '.png'
      whereimg = figPlace + imgname
      img = mpimg.imread(whereimg)
      imgplot = plt.imshow(img)
      plt.axis('off')
    elif index < 7: #l'indice va de 5 à 6, c'est-à-dire 6,Le 7ème dé est un dé noir pour la sortie d'image
      imgname = 'dice-b-' + str(jmcDice[index]) + '.png'
      whereimg = figPlace + imgname
      img = mpimg.imread(whereimg)
      imgplot = plt.imshow(img)
      plt.axis('off')
    else:
      continue

task003_jmcdisplay


### function trial START ###
libimports()
figPlace = figplace()
jmcDice = jmc_diceroll(printOption=True)
jmc_display(figPlace, jmcDice, sizeRatio=1.4)
### function trial END ###
> Drive already mounted at /content/drive; to attempt to forcibly remount, call drive.mount("/content/drive", force_remount=True).
>Résultats jamaïcains de Die Roll:[ 1  5  6  5  5 30  2]

qiita005_jamaica_task003_jmcdisplay.png

Aperçu de la prochaine fois

Cette fois, j'ai principalement décrit comment définir une fonction en Python et un mémorandum de code qui affiche simplement le résultat du jet de dés en Jamaïque.

La prochaine fois, enfin *** Définition de la fonction de recherche de solution </ font> basée sur les résultats du lancer de dés "Jamaica" </ font> *** Entrer dans.

Le titre est ** vol.03 "Viser à trouver une solution à la Jamaïque-Round 1-" **.

REF. Informations de base sur la 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

■ *** 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>

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

[^ ref001]: Recollection | Reproduisons l'article précédent de l'outil d'enseignement arithmétique "Jamaica" ❗️ (vol.01) [^ ref002]: Task003 | Définir et appeler une fonction en Python (def, return)

Recommended Posts