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.
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.
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.
Ich habe es geschafft, die ZipArchive (C #) -Klasse zu verwenden.
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.
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.
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.
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.
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.
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.
Ich weiß nicht warum, aber danke, dass Sie bisher zugesehen haben.
~~ Veröffentlicht ~~. ~~https://www.axfc.net/u/4023085~~
Recommended Posts