[Python] Comment utiliser checkio

1. Objet

J'ai commencé à apprendre en utilisant un site appelé checkio pour améliorer mes compétences Python. https://checkio.org/

Cependant, il n'y a pas d'explication polie pour apprendre, donc En premier lieu, au début de l'apprentissage, il demande souvent "que dois-je faire?" J'étais très troublé, donc le but est de présenter comment utiliser checkio.

C'est simple, mais si vous étudiez en réfléchissant bien, ce sera très étudiant, alors Nous vous recommandons de l'utiliser.

2. Comment utiliser checkio

(1) Qu'est-ce que checkio?

Il y a beaucoup de petites tâches préparées pour chaque niveau, et si vous répétez la compensation C'est un outil qui vous permet d'apprendre Python comme si vous jouiez à un jeu où vous pouvez monter de niveau (passer sur une autre île).

(2) Comment lire l'écran des tâches

Commençons par Elementary Island. (Je suis toujours au niveau élémentaire 55)

キャプチャ1.PNG

Chaque île a plusieurs tâches, et nous les capturerons dans l'ordre du haut. Lorsque vous sélectionnez un problème, l'écran suivant s'affiche.

キャプチャ2.PNG

Le contenu de la mission est expliqué au début. Prenons l'exemple du "Premier mot (simplifié)" ci-dessus. A partir de la première ligne "On vous donne une chaîne où vous devez trouver son premier mot." Trouvez le premier mot! Je comprends que c'est un contenu typique.

Cependant, il m'est difficile de comprendre uniquement cet anglais, donc si vous regardez le cadre de l'exemple, J'ai réalisé que je voulais dire que si j'entre "Hello world", je peux créer une fonction qui renvoie "Hello". ** Je donnerai une image du contenu de la mission avec cet exemple concret **.

Supplément 1

Quand j'ai vu l'exemple pour la première fois, j'étais trop ignorant Je n'avais aucune idée de ce qu'était "first_word (" Hello world ") ==" Hello "". Normalement, lorsque j'écris du code en Python, je ne l'écris pas comme ça, qu'est-ce que tu veux dire? Quand,? Était plein.

C'est ** "ce qu'il faut mettre" et "quel type de résultat vous voulez retourner" **, ici nous l'avons nommé first_word afin que si vous entrez "Hello world", il renverra "Hello". Veuillez créer une fonction. "

Supplément 2

S'il y a JA en plus de l'anglais dans le coin supérieur droit de l'écran, vous pouvez lire le devoir en japonais, Jusqu'à présent, il y a moins de problèmes avec JA.

Cependant, si vous regardez un exemple concret, vous pouvez comprendre ce que vous devez faire, donc même si vous n'êtes pas bon en anglais, il ne devrait y avoir aucun problème.

(3) Comment lire l'écran de codage

Il y a un bouton appelé "le résoudre" en bas de l'écran dans (2), donc quand vous appuyez dessus, c'est finalement la page de codage. キャプチャ3.PNG

J'étais confus par cet écran. ** "Que dois-je faire ...?" "En écrivant" votre code ici "sur la 5ème ligne," return text [0: 2] "est écrit sur la 6ème ligne ..." Avant de passer au sujet principal, mon cœur s'est brisé, "Qu'est-ce que la 13e ligne et en dessous ...?" **.

Je vais expliquer un par un.

(I) La partie que nous codons

-Depuis que la fonction est définie à l'avance (la première ligne ici), nous pouvons écrire le code sous "#your code here", qui est commenté. ・ Le "retour 〇〇" par défaut peut être commenté une fois.

Alors, qu'est-ce que "return 〇〇" écrit par défaut? !! J'expliquerai cela dans (iii).

(Ii) À propos de def au début

La fonction est définie au début de chaque tâche (je suis toujours au milieu de l'élémentaire, donc cela peut changer au milieu).

Dans ce cas, il est défini au début comme def first_word (text: str) -> str: ``. Il s'agit d'un paramètre qui ** le nom de la fonction est "first_word", l'argument est du texte et ce texte est str (chaîne de caractères) **.

Au début, je ne savais pas ce qu'était "-> str:", mais il ** spécifie le type que la fonction veut finalement renvoyer (= return) **.

Lors du développement, il semble que vous ayez écrit du code qui n'est pas ce que vous vouliez faire, alors quel type cette fonction retourne-t-elle finalement? Semble définir.

(Iii) À propos de "return 〇〇" décrit par défaut

Ceci est étroitement lié à (ii). Cette histoire en elle-même est un peu difficile à comprendre pour les débutants (je n'ai pas du tout compris au début), donc ** "Return 〇〇〇〇 qui est inclus par défaut n'est pas lié à la tâche (= doit être utilisé) (Il n'y a rien de tel), donc ce n'est pas grave si vous pensez à "OK pour l'effacer **".

-------- Pour le moment, j'expliquerai d'ici -------- Dans le paramètre de fonction au début, «Cette fonction retourne comme str (chaîne de caractères)» est définie, donc si vous ne renvoyez pas le type str lors du débogage, une erreur se produit. Par conséquent, il semble que le contenu qui renvoie le type ** str soit inclus par défaut **.

→ Dans ce cas, il est écrit sous forme de texte [0: 2], ce qui n'a rien à voir avec ce problème (donc c'est compliqué), mais si vous écrivez ceci pour le moment, il sera retourné sous forme de type str. Par conséquent, il est codé par défaut.

Cependant, cela n'est pas nécessaire pour la tâche d'origine, vous pouvez donc commenter lorsque vous démarrez la tâche ou supprimer le texte [0: 2] et écrire le code correct. ――――――――――――――――――――――

(Iv) à propos de si __ nom __ == '__ main __':

Je n'avais aucune idée de ce que cela signifiait.

Cependant, il existe de nombreux sites qui expliquent cela en effectuant une recherche sur Google, veuillez donc vous y référer également.

En gros **, cela permet d'éviter que la fonction ne soit exécutée en même temps que l'importation lors de l'importation de cette fonction ** (ce code n'a pas beaucoup d'avantages, il peut donc sembler inutile).

(V) À propos de la déclaration d'assert

J'étais complètement brisé par la liste des phrases à affirmer de la 14e ligne. Cependant, je vais reprendre mon esprit et enquêter.

En gros, l'instruction assert est ** un paramètre qui "si vous mettez ceci dedans, il retournera ce résultat" à l'avance, et il vérifiera à chaque fois si le code que vous avez écrit fonctionne tel quel **.

L'exemple de l'explication de la tâche au début indique également le contenu de cette instruction assert.

Dans ce cas, si vous entrez "" Hello world "", il retournera "" Hello "", si vous entrez "" un mot "", il retournera "" a "", et si vous entrez "" hi "", il retournera "" hi "". C'est.

La raison de la définition de l'instruction assert est que si vous la remarquez pendant le développement, vous avez peut-être écrit du code différent de ce que vous souhaitez créer, donc pour remarquer l'erreur, définissez d'abord l'instruction assert. est.

Donc, ** j'essaye de donner une meilleure image en regardant le contenu de cette affirmation si je trouve cela un peu difficile à comprendre dans l'exemple de l'explication de tâche au début **.

(4) Essayez d'exécuter

Il y avait trop de choses que je ne savais pas avant de commencer la tâche, mais disons que j'ai écrit le code de la tâche en toute sécurité.

キャプチャ4.PNG

Tout d'abord, cliquez sur "Exécuter" en haut de l'écran. S'il se déplace en toute sécurité, il sera affiché en bas de l'écran comme indiqué dans le cadre rouge ci-dessous.

キャプチャ5.PNG

Le fait qu'aucune erreur ne se soit produite ici signifie que les trois instructions assert fonctionnent!

Au contraire, si vous obtenez une erreur en rouge, corrigez le code en fonction du contenu.

(5) Soumettre la mission

Cliquez sur "vérifier" en haut de l'écran. Si cela fonctionne, vous verrez un écran comme celui-ci (Tâche résolue) et la tâche est claire!

キャプチャ6.PNG

(6) Voir le code des autres

Si vous voulez voir le code de quelqu'un d'autre, vous pouvez le voir dans "Meilleures Soludions" sur l'écran d'ouverture.

キャプチャ7.PNG

3. Conclusion

Qu'as-tu pensé. checkio en lui-même n'est pas si important, mais je le recommande car c'est un spartiate auquel vous devez donner une réponse par vous-même, et si vous travaillez correctement, votre capacité s'améliorera considérablement.

Cependant, comme j'ai essayé, j'espère que cet article aidera encore un peu les débutants en Python car il est difficile à comprendre dans la première partie du sujet principal, ce qui gêne les débutants.

Recommended Posts

[Python] Comment utiliser checkio
python3: Comment utiliser la bouteille (2)
[Python] Comment utiliser la liste 1
Comment utiliser Python Argparse
Python: comment utiliser pydub
[Python] Comment utiliser input ()
Comment utiliser Python lambda
[Python] Comment utiliser virtualenv
python3: Comment utiliser la bouteille (3)
python3: Comment utiliser la bouteille
Comment utiliser les octets Python
Python: comment utiliser async avec
[Python] Comment utiliser la série Pandas
Comment utiliser les requêtes (bibliothèque Python)
Comment utiliser SQLite en Python
[Python] Comment utiliser la liste 3 Ajouté
Comment utiliser Mysql avec python
Comment utiliser l'API Python d'OpenPose
Comment utiliser ChemSpider en Python
Python: Comment utiliser pydub (lecture)
Comment utiliser PubChem avec Python
Comment utiliser la fonction zip de python
[Python] Comment utiliser l'API Typetalk
Comment utiliser xml.etree.ElementTree
Comment utiliser Python-shell
[Introduction à Python] Comment utiliser la classe en Python?
Remarques sur l'utilisation de tf.data
Comment utiliser virtualenv
Comment utiliser la correspondance d'image
Comment utiliser le shogun
Comment installer Python
Comment utiliser Pandas 2
Comment installer et utiliser pandas_datareader [Python]
Comment utiliser Virtualenv
Comment utiliser numpy.vectorize
Comment utiliser pytest_report_header
[python] Comment utiliser __command__, explication des fonctions
Comment installer python
Comment utiliser partiel
Comment utiliser Bio.Phylo
Comment utiliser SymPy
Comment utiliser x-means
Comment utiliser WikiExtractor.py
Comment utiliser IPython
[Python] Organisation de l'utilisation des instructions
Mémorandum sur l'utilisation du python gremlin
Comment utiliser virtualenv
[Python2.7] Résumé de l'utilisation d'unittest
Comment utiliser Matplotlib
Comment utiliser iptables
python: Comment utiliser les locals () et globals ()
Comment utiliser numpy
Comment utiliser __slots__ dans la classe Python
Comment utiliser TokyoTechFes2015
Comment utiliser venv
Comment utiliser le dictionnaire {}
Comment utiliser Pyenv
Comment utiliser la liste []
Comment utiliser "deque" pour les données Python
Comment utiliser python-kabusapi