[GO] Lassen Sie uns das arithmetische Lehrmittel "Jamaica" ❗️ Vol.02 "Hinweise zum Erstellen von Funktionen in Python" reproduzieren.

Einführung

In dieser Serie geht es um ein bestimmtes ** Rechenwerkzeug "Jamaica" </ font> ** Es ist eine Aufzeichnung des Kampfes um die Erreichung der folgenden Ziele.

** ▶ ︎ </ font> 1. ** *** Sie können das Spiel "Jamaica" mit einem Programm ausführen, das die Bildanzeige verwendet. *** *** ** 2. ** *** Erstellen Sie ein Programm, um die Existenz und den Inhalt von Lösungen für eine beliebige Kombination von Würfeln in "Jamaika" zu suchen und zu präsentieren. *** ***

Letzte Überprüfung

Letztes Mal habe ich mich mit folgenden Inhalten befasst.

*** §1. "Jamaica" </ font> reproduzieren *** *** Task.001 "Würfelwurf" als Bild anzeigen *** *** Task.002 "Zeigen Sie das Würfelwurfbild nach einer Zufallszahl an" ***

Dies wird zufällig die Würfel werfen, Es ist jetzt möglich, die Rollenbilder der Würfel, die der Rolle entsprechen, nebeneinander anzuzeigen.

** _____ [Referenzartikel] _____ ** [^ ref001] Erinnerung | Lassen Sie uns den vorherigen Artikel des arithmetischen Lehrwerkzeugs "Jamaica" (Band 01) reproduzieren

>Ergebnisse von 7 Würfeln[6 5 1 4 2 4 3]

qiita004_jamaica_task002_diceroll.png

§1. Fortsetzung von "Jamaica" </ font> reproduzieren

Task.003 "Erstellen einer Funktion zum Anzeigen von Würfelwurfbildern"

■ Die Aktion des Würfelns im echten Jamaika wird durch Funktionsdefinition auf einfach zu lesende Weise zusammengefasst. ➡︎ Um Jamaika als Spiel zu spielen, ist es besser, es mit einfachem Code ausführen zu können. ➡︎ Andererseits schien der Code für die Anzeige des vorherigen jamaikanischen Würfelwurfs lang zu sein. ➡︎ Vereinfachen Sie dies, indem Sie die folgenden Funktionen gemäß der Syntax der Python-Funktionsdefinition definieren.

Eine Funktion, die den Speicherort der fig-Datei des Laufwerks angibt: figplace()
Funktion zum Importieren notwendiger Bibliotheken: libimports()
Np die Rolle von 7 Würfeln.Funktion zur Ausgabe im Array-Format: jmc_diceroll()
Funktion zum Anzeigen des jamaikanischen Würfelwurfergebnisses als Bild: jmc_display()

** _____ [Referenzartikel] _____ ** [^ ref002] Task003 | Definiere und rufe eine Funktion in Python auf (def, return) ➡︎ Ich habe mich auf die Funktionsdefinitionsmethode und die Ausgabe des Rückgabewerts bezogen.

task003_jmcfunctions1


###Eine Funktion, die eine Zeichenfolge zurückgibt, die den Speicherort angibt, an dem die für die Würfelwurfanzeige erforderliche Bilddatei gespeichert wird.
def figplace():
  wheredrive = '/content/drive/My Drive/Mathematics/MathProgramming/MathPro-Jamaica/'
  wherefigs = wheredrive + 'Jamaica-figs/'
  return wherefigs

###Funktion zum häufigen Importieren notwendiger Bibliotheken (kein Rückgabewert)
def libimports():
  from google.colab import drive 
  drive.mount('/content/drive',force_remount=False) #Holen Sie sich einen Mount, um auf Google Drive-Dateien in Google Colabatory zuzugreifen (setzen Sie das zweite Argument auf True, um einen Mount erneut zu erzwingen).
  import matplotlib
  import matplotlib.pyplot as plt
  import matplotlib.image as mpimg
  import numpy as np

###Eine Funktion, die die Ergebnisse von 7 zufälligen Würfeln ausgibt, das Ergebnis der 6. Würfel mit 10 multipliziert und das Würfelergebnis mit Jamaika zurückgibt.
def jmc_diceroll(printOption):
  jmcDice = np.random.randint(1,7,7) #Np erzeugte zufällig 7 Zufallsvariablen mit Werten größer oder gleich 7.array(1*Vektor mit 7 Zeilen)Ausgabe
  jmcDice[5] = jmcDice[5]*10 #Multiplizieren Sie die Zahl der 6. zweistelligen schwarzen Würfel mit 10, um das Ergebnis der jamaikanischen Würfel zu erhalten.
  if printOption == True:
    print('Jamaican Die Roll Ergebnisse:', jmcDice) #Wenn printOption True ist, wird das Ergebnis des Würfelwurfs ausgegeben.
  return jmcDice

###Eine Funktion zum Anzeigen des jamaikanischen Würfelergebnisses als Bild mit dem Verhältnis der Größe des anzuzeigenden Bildes als Ergebnis des Bildspeicherorts und des Würfelwurfs als Argument (kein Rückgabewert)
def jmc_display(figPlace,jmcDice,sizeRatio): #1:Speicherort für Bilder,2:Das Ergebnis,3:Verhältnis der Bildgröße zur Standardeinstellung
  row = 1 #Anzahl der Zeilen in der Rahmenmatrix, in denen das Bild angezeigt werden soll
  col = jmcDice.shape[0] #Anzahl der Spalten in der Rahmenmatrix, in denen das Bild angezeigt werden soll
  fsizeDefault = 15 #Standardwert für jede Bildgröße
  fsize = round(fsizeDefault * sizeRatio) #Bildgröße anzeigen=Standardwert*Verhältnis der Bildgröße zur Standardeinstellung
  plt.figure(figsize=(fsize,fsize)) #Festlegen von Parametern zum Anpassen der Größe jedes Bilds
  for index in range(row * col):
    plt.subplot(row, col, index+1)
    if index < 5: #Der Index ist 0 bis 4, dh der 1. bis 5. Würfel sind weiße Würfel und die Bildausgabe
      imgname = 'dice-w-' + str(jmcDice[index]) + '.png'
      whereimg = figPlace + imgname
      img = mpimg.imread(whereimg)
      imgplot = plt.imshow(img)
      plt.axis('off')
    elif index < 7: #Index ist von 5 bis 6, dh 6,Der 7. Würfel ist ein schwarzer Würfel für die Bildausgabe
      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).
>Jamaican Die Roll Ergebnisse:[ 1  5  6  5  5 30  2]

qiita005_jamaica_task003_jmcdisplay.png

Vorschau beim nächsten Mal

Dieses Mal habe ich hauptsächlich beschrieben, wie man eine Funktion in Python und ein Memorandum of Code definiert, das einfach das Ergebnis eines Würfelwurfs in Jamaika anzeigt.

Das nächste Mal endlich *** Definition der Lösungssuchfunktion </ font> basierend auf "Jamaica" </ font> Würfelwurfergebnissen *** Hineinsteigen.

Der Titel lautet ** vol.03 "Mit dem Ziel, in Jamaika-Runde 1 eine Lösung zu finden" **.

REF. Grundlegende Informationen zu Jamaika

Frage 1: Was ist das arithmetische Lehrmittel "Jamaica" </ font>?

A1. "Jamaica" wird als arithmetisches Lehrmittel mit dem Thema "Zahlenspiel" unter Verwendung von Würfeln </ font> verkauft.

■ *** Dies ist ein allgemeines Produkt, das auch auf Online-Shopping-Websites wie Amazon und Yahoo! Shopping verkauft wird. *** *** ➡︎ Klicken Sie hier, um zur Amazon-Verkaufsseite zu gelangen (https://www.amazon.co.jp/dp/4902756161/ref=cm_sw_r_tw_dp_U_x_XrEPEbCJ5VRST). ➡︎ Das Bild finden Sie in der folgenden Abbildung (zitiert von der obigen Seite). qiita1_jamaica_red.jpg

■ *** Es gibt zwei Arten von Würfeln, Weiß und Schwarz, und 5 und 2 sind enthalten. *** *** ➡︎ Ein weißer Würfel x 5 und ein schwarzer Würfel x 1 sind am Ringteil angebracht, und ein schwarzer Würfel x 1 ist am Mittelteil angebracht.

Farbe/ Color Menge/ amount Nummern aufgelistet/ Numbers
Weiß/ white 5 Stücke/ 5 dice 1, 2, 3, 4, 5, 6
schwarz/ black 1 Stück/ 1 dice 1, 2, 3, 4, 5, 6
schwarz/ black 1 Stück/ 1 dice 10, 20, 30, 40, 50, 60

Frage 2: Wie spielt Jamaika </ font>?

A2. Führen Sie vier Regeln </ font> aus, indem Sie jeden der weißen Würfel x 5 Zahlen einmal verwenden, um die Summe der schwarzen Würfel x 2 Zahlen zu erhalten.

Wenn zum Beispiel der weiße Würfelwurf (1,2,3,5,5) und der schwarze Würfelwurf (10,6) ist, Sie können alle Würfel der weißen Würfel addieren, um die Gleichung 1 + 2 + 3 + 5 + 5 = 10 + 6 zu erstellen.

qiita002_jamaica_sample_sizedown.png

■ *** Weiße Würfel x 5 Zahlen können jeweils nur einmal verwendet werden. *** *** ➡︎ Wenn der weiße Würfelwurf beispielsweise (2,4,5,3,3) ist, kann er zur Berechnung verwendet werden. 2 ist 1 Mal, 3 ist 2 Mal, 4 ist 1 Mal, 5 ist 1 Mal. Nicht mehr verwenden. (Sie können 2 nicht zweimal oder 3 dreimal verwenden.) ➡︎ Natürlich ist ** "Nicht die angegebene Anzahl von Malen verwenden" auch ein Gesetz **. (Im obigen Beispiel können Sie 3 nicht nur einmal verwenden.)

■ *** Vier Regeln sind Addition, Subtraktion, Multiplikation und Division </ font>. *** *** ➡︎ ** "Addition" ** </ font> ist "Addition", dh ** "Addition" **. Berechnen Sie beispielsweise die Summe (Ergebnis der Addition) wie 2 + 3 = 5. </ font> ➡︎ ** "Reduzieren" ** </ font> ist "Reduzieren", dh ** "subtrahieren" **. Berechnen Sie beispielsweise die Differenz (Ergebnis der Subtraktion) wie 5-2 = 3. </ font> ➡︎ ** "Multiplizieren" ** </ font> ist "Multiplikator", dh ** "Multiplizieren" **. Berechnen Sie beispielsweise das Produkt (Ergebnis der Multiplikation) wie 3 × 4 = 12. </ font> ➡︎ ** "Ausschluss" ** </ font> ist "Ausschluss", dh ** "Teilung" **. Berechnen Sie beispielsweise den Quotienten (Teilungsergebnis *) wie 4/2 = 2. </ font>

  • Es gibt Regeln, die nur teilbare Operationen zulassen, dh Regeln, die keine irreduziblen Brüche zulassen, und Regeln, die irreduzible Brüche zulassen. [1] ** Im Fall einer Regel, die keine irreduziblen Brüche zulässt ** Wenn der weiße Würfel würfelt (2,4,6,3,5), können Sie 6/3 = 2 berechnen, aber Das Ergebnis 6/4 = 3/2 ist nicht verfügbar. [2] ** Im Fall einer Regel, die Dinge erlaubt, bei denen es sich um kontrahierte Brüche handelt ** Wenn die weißen Würfel würfeln (2,4,6,3,5), kann nicht nur die Berechnung 6/3 = 2 durchgeführt werden, sondern auch Das Ergebnis 6/4 = 3/2 ist ebenfalls verfügbar.
  • ** Einige Würfelwürfe können ohne Verwendung der kontrahierten Fraktionen nicht gelöst werden. ** </ font> Beispiel) Wenn die weißen Würfel (2,2,4,4,6) und die schwarzen Würfel (30,3) würfeln Die Gleichung {(2- 2/4) + 4} x 6 = 30 + 3 gilt. </ font>

■ *** Die vier Betriebsregeln können in beliebiger Reihenfolge ausgeführt werden. *** *** ➡︎ Sie können die beiden Zahlen zuerst addieren und dann mit einer anderen Zahl multiplizieren. Mit anderen Worten, Sie können überall beliebig oft Klammern verwenden. Beispiel) Wenn die weißen Würfel (3,6,4,4,1) und die schwarzen Würfel (20,6) würfeln Die Gleichung {(3 + 6) + (4 × 4)} + 1 = 20 + 6 gilt. </ font>

Zusammenfassung des Referenzartikels

[^ ref001]: Erinnerung | Reproduzieren wir den vorherigen Artikel des arithmetischen Lehrmittels "Jamaica" (Band 01) [^ ref002]: Task003 | Definiere und rufe eine Funktion in Python auf (def, return)

Recommended Posts