Je suis autodidacte et participe à AtCoder en Python. Alors aujourd'hui, je vais donner une brève explication de et de l'arrangement, ce qui est un point que les gens qui ont commencé à apprendre (des gens comme moi dans le passé) ne comprendront pas! Je vais également expliquer l'histoire telle que l'entrée en utilisant pour d'AtCoder. C'est juste une brève explication. Si vous pouvez savoir au moins jusqu'ici, vous acquerrez également des capacités de google (capacité de vocabulaire quand google), s'il vous plaît google diverses fonctions par vous-même à chaque fois et rappelez-vous petit à petit! (Je suis un jeune codeur brun, et je ne suis pas doué pour les notations courtes. Si vous devez écrire un mensonge, faites-le moi savoir> <)
for i in range(3):
print(i)
L'instruction for ressemble à ceci. ** Le nombre de nombres entre parenthèses de range ()
et le traitement à l'intérieur de l'instruction for sont répétés. ** **
En cela, ʻi` est appelé une variable de compteur de boucle (j'ai également cherché sur Google et maintenant je sais que le nom n'a pas d'importance) ** Il augmente de 1 à chaque fois qu'il est répété. ** **
Le résultat de l'exécution de ce code est
0
1
2
Ce sera.
Comme vous pouvez le voir ici, ʻi` de la première boucle vaut 0. Ce sera un point très important plus tard. Vous pouvez voir que «0,1,2» est sorti 3 fois au total. C'est parce que j'ai écrit «range (3)».
for i in range(1,3):
print(i)
En fait, il existe également une telle manière d'écrire. Le résultat en sortie est
1
2
est. Vous pouvez voir les règles en les comparant avec le code ci-dessus.
L'instruction for peut être écrasée. Eh bien, pour l'instant, regardez-le.
for i in range(2):
for j in range(3):
print(i,j)
Résultat de sortie
0 0
0 1
0 2
1 0
1 1
1 2
Cela peut être un peu déroutant, mais vous pouvez vous y habituer! (En passant, si vous empilez beaucoup d'instructions for, cela prendra beaucoup de temps d'exécution.)
En gros, une liste est comme une variable qui peut stocker plusieurs éléments ensemble.
yasai = ["Carottes","Daikon","Gobo"]
Les éléments sont séparés par des virgules et entourés de «[]». Dans ce cas, pensez à «yasai» comme à un hôtel de trois chambres. Normalement, chaque chambre d'un hôtel a un numéro de chambre. Le tableau est le même.
Le tableau est numéroté «0,1,2 ....» dans l'ordre à partir de l'élément avant **. ** Ce numéro est appelé index.
Je le répète! !! ** Le numéro du premier élément est 0! !! !! ** ** C'est la même chose que «i». C'est un point très important, alors maintenons-le.
yasai = ["Carottes","Daikon","Gobo"]
print(yasai[1])
Vous pouvez également obtenir l'élément de ce nombre dans le tableau en écrivant ʻarray name [number] `comme ceci. Connaissez-vous le résultat de l'exécution de ce code?
Pensez-vous que c'est "carotte"? C'est faux!
Daikon
** Le numéro du premier élément est 0 **, veillez donc à ne pas vous tromper.
La longueur du tableau peut être obtenue avec len (array)
.
yasai = ["Carottes","Daikon","Gobo"]
print(len(yasai))
Résultat de sortie
3
J'utilise aussi souvent cela. Souvenons-nous.
Vous pouvez maintenant écrire un code comme celui-ci.
yasai = ["Carottes","Daikon","Gobo"]
for i in range(len(yasai)):
print(yasai[i])
Résultat de sortie ↓
Carottes
Daikon
Gobo
comment c'est! Si vous pouvez comprendre jusqu'ici, vous serez en mesure de résoudre le problème C. Si vous ne comprenez pas, veuillez relire ce qui précède.
Avec AtCoder, je pense que l'entrée utilisant for viendra du problème C. Par exemple, cela ressemble à ceci ↓
En regardant le champ de saisie, cela ressemble à ceci.
Vous ne comprenez peut-être pas le sens. Je n'ai pas non plus compris le sens au début. Surtout l'indice. Mais si vous pouvez comprendre ce qui précède, vous le comprendrez immédiatement.
N,M = map(int,input().split())
H = list(map(int,input().split()))
for i in range(M):
A,B = map(int,input().split())
Jajan.
Pour entrer dans la liste, couvrez simplement l'entrée habituelle de map ()
avec list ()
.
Dans l'instruction for ci-dessous, la boucle est tournée M fois et A et B sont entrées M fois.
Comme vous pouvez le voir ici, Python n'a pas besoin de spécifier la longueur du tableau lors de la saisie du tableau, donc N n'est pas utilisé comme M lors de la saisie. C'est facile.
D'après la spécification d'entrée (voir l'image grise), N == len (H)
est valable.
L'une des erreurs les plus frustrantes pour les débutants concerne les références dans le désordre.
yasai = ["Carottes","Daikon","Gobo"]
print(yasai[3])
Eh bien, j'ai ce code. Savez-vous ce qu'est la sortie?
Dans le cas peu probable où quelqu'un pense "gobo", revenez à la page ci-dessus et gardez mes mots à l'esprit.
La réponse est "pas de sortie". J'obtiens un message d'erreur.
Traceback (most recent call last):
File "Main.py", line 2, in <module>
print(yasai[3])
IndexError: list index out of range
J'obtiens cette erreur.
Même si vous ne parlez pas anglais, ce n'est pas du tout difficile si vous le lisez calmement.
À partir de la ligne 2
, vous pouvez voir que le code de la deuxième ligne est incorrect.
Voir ʻIndexError: list index out of range`. C'est l'erreur d'index que je déteste le plus (souvent), ** référence hors tableau **.
En d'autres termes, si vous lisez ce message d'erreur, vous pouvez voir que "** L'index du code` print (yasai [3]) ʻ sur la deuxième ligne se réfère à l'extérieur du tableau **"!
Cette référence dans le désordre peut sembler simple à première vue, mais au fur et à mesure que le code devient plus complexe, elle devient une ** référence d'horreur dans le désordre sur l'enfer de parade **. Faites attention.
Si vous pouvez résoudre le problème C à une certaine vitesse, vous pouvez certainement viser un codeur marron! Python est un langage qui a un code court à écrire et convient à la résolution rapide de base, et surtout, il est facile à lire, donc cela m'a pris beaucoup de temps à écrire, mais s'il est marron, cela peut être relativement rapide.
Le plus gros problème est le temps d'exécution (le pro de la concurrence a une limite sur le temps d'exécution, écrivons le code le plus efficacement possible, consultez le web pour plus de détails), mais si vous vous habituez aux différents calculs Dans une certaine mesure, vous pouvez le sentir.
**S'il vous plaît faites de votre mieux! ** **
Recommended Posts