Ich begann mit einer Site namens checkio zu lernen, um meine Python-Fähigkeiten zu verbessern. https://checkio.org/
Es gibt jedoch keine höfliche Erklärung für das Lernen Erstens wird zu Beginn des Lernens oft gefragt: "Was soll ich tun?" Ich war sehr beunruhigt, daher besteht der Zweck darin, die Verwendung von checkio vorzustellen.
Es ist einfach, aber wenn Sie lernen, während Sie sorgfältig überlegen, wird es sehr lernend sein Wir empfehlen die Verwendung.
Für jedes Level sind viele kleine Aufgaben vorbereitet, und wenn Sie das Löschen wiederholen Es ist ein Tool, mit dem Sie Python lernen können, als würden Sie ein Spiel spielen, in dem Sie aufsteigen können (auf eine andere Insel wechseln).
Beginnen wir mit Elementary Island. (Ich bin immer noch Grundstufe 55)
Jede Insel hat mehrere Aufgaben, und wir werden sie in der Reihenfolge von oben erfassen. Wenn Sie ein Problem auswählen, wird der folgende Bildschirm angezeigt.
Der Inhalt der Aufgabe wird zu Beginn erläutert. Nehmen wir als Beispiel das obige "Erste Wort (vereinfacht)". Aus der ersten Zeile "Sie erhalten eine Zeichenfolge, in der Sie das erste Wort finden müssen." Finde das erste Wort! Ich verstehe, dass es ein typischer Inhalt ist.
Es ist jedoch schwierig für mich, nur dieses Englisch zu verstehen. Wenn Sie sich also den Rahmen des Beispiels ansehen, Mir wurde klar, dass ich sagen wollte, dass ich bei Eingabe von "Hallo Welt" eine Funktion erstellen kann, die "Hallo" zurückgibt. ** Ich werde mit diesem konkreten Beispiel ein Bild des Inhalts der Aufgabe geben **.
Als ich das Beispiel zum ersten Mal sah, war ich zu unwissend Ich hatte keine Ahnung, was "first_word (" Hallo Welt ") ==" Hallo "" war. Wenn ich Code in Python schreibe, schreibe ich ihn normalerweise nicht so. Was meinst du damit? Wann,? War voll.
Dies ist ** "was eingegeben werden soll" und "welche Art von Ergebnis Sie zurückgeben möchten" **, hier haben wir es first_word genannt, sodass bei Eingabe von "Hello world" "Hello" zurückgegeben wird. Bitte machen Sie eine Funktion. "
Wenn oben rechts auf dem Bildschirm zusätzlich zu Englisch JA angezeigt wird, können Sie die Aufgabe auf Japanisch lesen. Bisher gibt es weniger Probleme mit JA.
Wenn Sie sich jedoch ein konkretes Beispiel ansehen, können Sie verstehen, was Sie tun müssen. Selbst wenn Sie nicht gut Englisch können, sollte es kein Problem geben.
In (2) befindet sich am unteren Bildschirmrand eine Schaltfläche mit der Bezeichnung "Lösen". Wenn Sie also darauf drücken, ist es schließlich die Codierungsseite.
Dieser Bildschirm hat mich verwirrt. ** "Was soll ich tun ...?" "Während Sie" Ihren Code hier "in die 5. Zeile schreiben, wird" Rückgabetext [0: 2] "in die 6. Zeile geschrieben ..." Bevor ich zum Hauptthema ging, brach mir das Herz: "Was ist die 13. Zeile und darunter ...?" **.
Ich werde eins nach dem anderen erklären.
-Die Funktion wird im Voraus eingestellt (die erste Zeile hier), sodass wir den Code unter "#Ihr Code hier" schreiben können, der auskommentiert ist. ・ Die Standardeinstellung "return 〇〇" kann einmal auskommentiert werden.
Was ist dann standardmäßig "return 〇〇" geschrieben? !! Ich werde dies in (iii) erklären.
Sie setzen die Funktion zu Beginn jeder Aufgabe (ich bin immer noch in der Mitte von Elementary, also kann sie sich vielleicht in der Mitte ändern).
In diesem Fall wird es am Anfang als `def first_word (text: str) -> str:`
gesetzt.
Dies ist eine Einstellung, bei der ** der Funktionsname "first_word", das Argument text und der Text str (Zeichenfolge) ** ist.
Zuerst wusste ich nicht, was "-> str:" ist, aber es ** gibt den Typ an, den die Funktion möchte, dass die Funktion endgültig zurückgibt (= return) **.
Bei der Entwicklung haben Sie anscheinend Code geschrieben, der nicht Ihren Vorstellungen entspricht. Welchen Typ gibt diese Funktion also letztendlich zurück? Scheint zu definieren.
Dies ist eng mit (ii) verbunden. Diese Geschichte selbst ist für Anfänger etwas schwer zu verstehen (ich habe sie zuerst überhaupt nicht verstanden), daher hängt ** "Return 〇〇〇〇, das standardmäßig enthalten ist, nicht mit der Aufgabe zusammen (= muss verwendet werden) (Es gibt so etwas nicht), also ist es in Ordnung, wenn Sie über "OK, um es zu löschen **" nachdenken.
-------- Vorerst werde ich von hier aus erklären -------- In der Funktionseinstellung am Anfang ist "Diese Funktion wird als str (Zeichenkette) zurückgegeben" festgelegt. Wenn Sie also beim Debuggen den str-Typ nicht zurückgeben, tritt ein Fehler auf. Daher scheint es, dass die Inhalte, die den Typ ** str zurückgeben, standardmäßig enthalten sind **.
→ In diesem Fall wird es als Text [0: 2] geschrieben, der nichts mit diesem Problem zu tun hat (daher ist es kompliziert). Wenn Sie dies jedoch vorerst schreiben, wird es als str-Typ zurückgegeben. Daher ist es standardmäßig codiert.
Für die ursprüngliche Aufgabe ist dies jedoch nicht erforderlich, sodass Sie beim Starten der Aufgabe einen Kommentar abgeben oder den Text [0: 2] löschen und den richtigen Code schreiben können. ―――――――――――――――――――――――
Ich hatte keine Ahnung, was das bedeutete.
Es gibt jedoch viele Websites, die dies durch die Suche in Google erklären. Bitte beziehen Sie sich auch darauf.
Grob gesagt ** soll dies verhindern, dass die Funktion gleichzeitig mit dem Import ausgeführt wird, wenn diese Funktion importiert wird ** (dieser Code hat keinen großen Nutzen, so dass er möglicherweise unnötig erscheint).
Die Liste der Assert-Sätze aus der 14. Zeile hat mich völlig gebrochen. Ich werde jedoch wieder zu mir kommen und nachforschen.
Grob gesagt ist die assert-Anweisung ** eine Einstellung, die besagt, dass "wenn Sie dies eingeben, wird dieses Ergebnis zurückgegeben", und jedes Mal überprüft wird, ob der von Ihnen geschriebene Code so funktioniert, wie er ist **.
Das Beispiel der Aufgabenerklärung am Anfang verweist auch auf den Inhalt dieser Assert-Anweisung.
Wenn Sie in diesem Fall "Hallo Welt" eingeben, wird "Hallo" zurückgegeben, wenn Sie "ein Wort" eingeben, wird "a" zurückgegeben, und wenn Sie "Hallo" eingeben, wird "Hallo" zurückgegeben. Das ist.
Der Grund für das Festlegen der Assert-Anweisung besteht darin, dass Sie möglicherweise Code geschrieben haben, der sich von dem unterscheidet, was Sie erstellen möchten. Wenn Sie den Fehler bemerken, setzen Sie zuerst die Assert-Anweisung. ist.
Also, ** Ich versuche, ein besseres Bild zu vermitteln, indem ich mir den Inhalt dieser Aussage ansehe, wenn ich es am Beispiel der Aufgabenerklärung am Anfang etwas schwierig finde **.
Es gab zu viele Dinge, die ich nicht wusste, bevor ich die Aufgabe überhaupt gestartet habe, aber sagen wir, ich habe den Code für die Aufgabe sicher geschrieben.
Klicken Sie zuerst oben auf dem Bildschirm auf "Ausführen". Wenn es sich sicher bewegt, wird es am unteren Bildschirmrand angezeigt, wie im roten Rahmen unten gezeigt.
Die Tatsache, dass hier kein Fehler aufgetreten ist, bedeutet, dass alle drei Assert-Anweisungen funktionieren!
Im Gegenteil, wenn Sie einen Fehler in Rot erhalten, korrigieren Sie den Code entsprechend dem Inhalt.
Klicken Sie oben auf dem Bildschirm auf "Überprüfen". Wenn es funktioniert, sehen Sie einen Bildschirm wie diesen (Aufgabe gelöst) und die Aufgabe ist klar!
Wenn Sie den Code eines anderen Benutzers anzeigen möchten, können Sie ihn unter "Beste Lösungen" auf dem Startbildschirm anzeigen.
Was haben Sie gedacht. checkio selbst ist nicht so wichtig, aber ich empfehle es, weil es spartanisch ist, dass Sie selbst eine Antwort geben müssen, und wenn Sie richtig arbeiten, werden sich Ihre Fähigkeiten erheblich verbessern.
Während ich es versuchte, hoffe ich jedoch, dass dieser Artikel Anfängern von Python sogar ein wenig hilft, da es im ersten Teil des Hauptthemas schwer zu verstehen ist, was Anfänger behindert.
Recommended Posts