Konvertieren Sie das Scratch-Projekt in Python

zunaechst

Der Grund, warum ich mich dazu entschlossen habe, ist, dass ich beim Wechsel von Scratch zu Python dachte "Ich frage mich, ob ich von Scratch zu Python wechseln kann ..." und Python das verstanden hat, Unity und Bei C # "Übrigens frage ich mich, ob es eine Möglichkeit gibt, von Scratch zu Python zu wechseln ... Suchen Sie danach." "Nein ..." "Sag mal, ich habe es selbst gemacht." Ich habe beschlossen, es zu machen.

Einer von ihnen

Suche nach Analyseziel

Zunächst erhalten Sie eine .sb3-Datei, wenn Sie die Scratch-Projektdatei herunterladen. Es kann nichts getan werden, wenn die sb3-Datei nicht analysiert werden kann. Als ich nach "sb3 file analysis" suchte, kam ich auf eine Site, auf der die Namen der im Scatch-Projekt verwendeten Variablen angezeigt werden. Ziehen Sie die Site mit der Erweiterung in .zip. Also dachte ich, dass dies der Fall sein könnte, und als ich die Erweiterung in .zip änderte und erweiterte, fand ich einen json, der verdächtig aussah. Wenn man den Inhalt betrachtet, schreibt es klar Dinge wie Blöcke. Vorerst wurde die zu analysierende Datei gefunden. projectj.png

Machen Sie eine GUI

Zu dieser Zeit wollte ich es verteilen, also wollte ich es zu etwas machen, das jeder machen konnte. Wenn Sie es mit PythonTkinter erstellen, können es nur Benutzer ausführen, auf denen Python installiert ist. Daher habe ich es in C # Form erstellt und den GUI-Teil erstellt. GUI.png

Zip entpacken

Ich habe es geschafft, die ZipArchive (C #) -Klasse zu verwenden.

Zweiter Teil

JSON-Analyse

Selbst wenn ich versuchte, Json in C # zu analysieren, musste ich eine Klasse erstellen, die diesem Thema gewidmet war, und entschied mich daher widerwillig, das Json-Modul von Python zu verwenden. Nachdem Json so etwas und so etwas getan hatte, wurde Jsons Analyse sicher abgeschlossen. Übrigens habe ich mich entschieden, Python mit System.Diagnostics.Process auszuführen, um es automatisch auszuführen.

Schreiben

Ich dachte, ich würde es in C # schreiben, aber ich entschied mich, es in Python zu schreiben, weil ich die Json-Analyse in Python durchgeführt hatte. Da ich jedoch den Speicherort und den Namen der zu schreibenden Datei angeben musste, entschied ich mich, zur Laufzeit ein Argument einzufügen und es mit sys.argv zu lesen. Öffnen Sie danach () und schreiben Sie () in die if-Hölle zum Zeitpunkt der Json-Analyse.

Schließlich

Sollte dies verteilt werden? Ich befürchte, dass ich mich in diesem Fall auf dieses Tool verlassen werde. (Gibt es jemanden, der es überhaupt herunterlädt?) Nicht kompatibel mit einigen Blöcken. Dies ist kein Problem, aber wenn Sie mehr als das tun möchten, können Sie Python verwenden.

Bonus: Problematischer Ort

Json-Analyse

Die Blockdefinition der JSON-Datei ist in Blöcke unterteilt. Ein Operator ist auch ein Block. Mit anderen Worten, bei der Berechnung von 5 + 5 + 5 + 5 + 5 habe ich eine rekursive Funktion verwendet. Aber das sind nur knapp 1000, also lassen Sie mich bitte wissen, wenn Sie eine bessere Idee haben.

Schreiben

Ich habe .format () schon lange verwendet, weil ich den f-String erst kannte, als er fast fertig war. Ich dachte, es wäre schön, wenn es so etwas wie die \ $ -Zeichenfolge in C # gäbe, und als ich sie googelte, gab es eine f-Zeichenfolge und sie war fantastisch. Möglicherweise ist die Zeichenfolge f oder die Zeichenfolge \ $ unterschiedlich.

Stapel

Nachdem ich den if- oder for-Block verlassen habe, muss ich else oder den darunter liegenden schreiben, also habe ich diesen else oder den darunter liegenden in der Liste gespeichert, und als ich ihn aufrief, war es die aktuelle Ebene -1. Kerl

if True:
    if True:
        if True:
            if True:
                print("Hello")
    print("World")#-2 war. Sie können und verwenden

Weil es so etwas gab, habe ich beschlossen, die Hierarchie zum Zeitpunkt des Zusammenseins zu speichern.

Wirklich am Ende

Ich weiß nicht warum, aber danke, dass Sie bisher zugesehen haben.

Nachtrag

~~ Veröffentlicht ~~. ~~https://www.axfc.net/u/4023085~~

Recommended Posts

Konvertieren Sie das Scratch-Projekt in Python
[Python] Datum in Zeichenfolge konvertieren
Konvertieren Sie numpy int64 in python int
[Python] Liste in Pandas konvertieren [Pandas]
[Python] Konvertieren Sie Shift_JIS in UTF-8
Konvertieren Sie Python 3.x-Code in Python 2.x.
Konvertieren Sie Markdown in Python in PDF
Konvertieren Sie die Liste mit Python in DataFrame
Python> Liste> Doppelte Liste in einfache Liste konvertieren
[Python] Konvertiert natürliche Zahlen in Ordnungszahlen
Konvertieren Sie die Dezimalzahl in n-ary [Python]
Python> Tupel> Konvertiert doppeltes Tupel in einzelnes Tupel
Auf Python 2.7.9 aktualisiert
Konvertieren Sie Memos sofort mit Python 2to3
Zum HSV konvertieren
Konvertieren Sie Python> Zwei-Wert-Sequenz in Wörterbuch
[Python] So konvertieren Sie eine zweidimensionale Liste in eine eindimensionale Liste
So konvertieren Sie Python in eine exe-Datei
[Python] Konvertieren Sie CSV-Dateibegrenzer in Tabulatortrennzeichen
Konvertiere Hiragana mit Python (Beta) in Romaji
Konvertieren Sie von Katakana zu Vokal Kana [Python]
Python> Tupel in Liste konvertieren> aList = Liste (pi_tuple)
Konvertieren Sie den Python-Datumstyp in das RFC822-Format
Konvertieren Sie chinesische Zahlen mit Python in arabische Zahlen
In Python von Markdown in HTML konvertieren
Konvertieren Sie die absolute URL in eine relative URL in Python
"Backport" zu Python 2
Beispiel für die Wavelet-Konvertierung von Bildern in Python
[Python] Führen Sie UIKit3 in das Django-Projekt ein
Konvertieren Sie die FBX-Datei in Python in ASCII <-> BINARY
Konvertieren Sie PDF in Bilder (JPEG / PNG) mit Python
Konvertieren Sie die "Anzahl" des Excel-Datums in die Python-Datumszeit
Konvertieren Sie PDFs mit Python in Massenbilder
Python-Skript zum Konvertieren von Breiten- und Längengrad in Mesh-Code
[Python] Konvertieren von DICOM in PNG oder CSV
Konvertieren Sie die SVG-Datei mit Python in png / ico
Konvertieren Sie Windows-Epochenwerte mit Python in das Datum
Konvertieren Sie STL mit Python VTK in ein Voxel-Netz
Konvertieren Sie den exponentiellen Float in Python in str
Konvertieren Sie kubischen Netzcode in Python in WKT
Konvertieren Sie die Zeichenfolge mit Python in ein zeichenweises Listenformat
So installieren Sie Python
Konvertieren Sie 202003 bis 2020-03 mit Pandas
Änderungen von Python 3.0 zu Python 3.5
Änderungen von Python 2 zu Python 3.0
Konvertiere Kanji in Kana
Schreiben Sie Python2-Code in Python3 um (2to3)
Jupyter in py umwandeln
So installieren Sie Python
Einführung in die Python-Sprache
Konvertiere keras-yolo3 in onnx
Einführung in OpenCV (Python) - (2)
Dikt in Array konvertieren
Beachten Sie, dass Python ein Daemon ist
Einführung von Python 2.7 in CentOS 6.6
Konvertieren Sie json in Excel
Verbinden Sie Python mit MySQL