[Python] Verwendung von checkio

1. Zweck

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.

2. Wie benutzt man checkio?

(1) Was ist checkio?

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).

(2) Lesen des Aufgabenbildschirms

Beginnen wir mit Elementary Island. (Ich bin immer noch Grundstufe 55)

キャプチャ1.PNG

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.

キャプチャ2.PNG

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

Ergänzung 1

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. "

Ergänzung 2

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.

(3) Lesen des Codierungsbildschirms

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. キャプチャ3.PNG

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.

(I) Der Teil, den wir codieren

-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.

(Ii) Über def am Anfang

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.

(Iii) Über "return 〇〇", standardmäßig beschrieben

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. ―――――――――――――――――――――――

(Iv) ungefähr wenn __ name __ == '__ main __':

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).

(V) Über Assert-Aussage

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

(4) Versuchen Sie auszuführen

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.

キャプチャ4.PNG

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.

キャプチャ5.PNG

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.

(5) Senden Sie den Auftrag

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!

キャプチャ6.PNG

(6) Siehe den Code anderer Personen

Wenn Sie den Code eines anderen Benutzers anzeigen möchten, können Sie ihn unter "Beste Lösungen" auf dem Startbildschirm anzeigen.

キャプチャ7.PNG

3. Fazit

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

[Python] Verwendung von checkio
python3: Verwendung der Flasche (2)
[Python] Verwendung von Liste 1
Wie benutzt man Python Argparse?
Python: Wie man pydub benutzt
[Python] Verwendung von input ()
Wie benutzt man Python Lambda?
[Python] Verwendung von virtualenv
python3: Verwendung der Flasche (3)
python3: Wie man eine Flasche benutzt
Verwendung von Python-Bytes
Python: So verwenden Sie Async mit
[Python] Verwendung der Pandas-Serie
Verwendung von Anfragen (Python Library)
Verwendung von SQLite in Python
[Python] Verwendung von Liste 3 Hinzugefügt
Wie man MySQL mit Python benutzt
Verwendung der Python-API von OpenPose
Verwendung von ChemSpider in Python
Python: Verwendung von pydub (Wiedergabe)
Verwendung von PubChem mit Python
Verwendung der Zip-Funktion von Python
[Python] Verwendung der Typetalk-API
Verwendung von xml.etree.ElementTree
Wie benutzt man Python-Shell
[Einführung in Python] Wie verwende ich eine Klasse in Python?
Hinweise zur Verwendung von tf.data
Verwendung von virtualenv
Verwendung von Image-Match
Wie man Shogun benutzt
So installieren Sie Python
Verwendung von Pandas 2
So installieren und verwenden Sie pandas_datareader [Python]
Verwendung von Virtualenv
Verwendung von numpy.vectorize
Verwendung von pytest_report_header
[Python] Verwendung von __command__, Funktionserklärung
So installieren Sie Python
Wie man teilweise verwendet
Wie man Bio.Phylo benutzt
Verwendung von SymPy
Wie man x-means benutzt
Verwendung von WikiExtractor.py
Verwendung von IPython
[Python] Organisieren der Verwendung für Anweisungen
Memorandum über die Verwendung von Gremlin Python
Verwendung von virtualenv
[Python2.7] Zusammenfassung der Verwendung von unittest
Wie benutzt man Matplotlib?
Verwendung von iptables
Python: Verwendung von Einheimischen () und Globalen ()
Wie benutzt man numpy?
Verwendung von __slots__ in der Python-Klasse
Verwendung von TokyoTechFes2015
Wie benutzt man venv
Verwendung des Wörterbuchs {}
Wie benutzt man Pyenv?
Verwendung der Liste []
Verwendung von "deque" für Python-Daten
Wie man Python-Kabusapi benutzt