[Hikari-Python] Chapitre 05-04 Syntaxe de contrôle (pour l'utilisation des instructions de la fonction range-)

[Python] Chapitre 05-04 pour Statement-Use of range function

La dernière fois, je l'ai spécifié sous forme de liste, extrait les éléments et les ai générés, et calculé la somme. Regardons un peu en arrière. Un programme qui trouve la somme dans une liste.

sum = 0
numL = [5, 8, 9, 1, 2]

for n in numL:
    sum += n

print(f'{numL}Somme des éléments de liste de:{sum}')

Pour le moment, j'ai spécifié 5 éléments dans cette liste, mais s'il y a 100 ou 1000 éléments dans la liste, il est difficile de spécifier à chaque fois. Il existe une ** fonction range ** comme moyen simple de spécifier de tels éléments, je vais donc l'expliquer.

fonction de plage

Pour répéter une plage de nombres spécifiée, utilisez la ** fonction de plage **. Généralement, c'est comme suit.

une fonction La description
range(start, end, step) depuis le débutend-1Renvoie un objet qui représente la plage jusqu'à. La largeur de chaque élément est un pas. start et step sont facultatifs.

Si vous omettez start et step et écrivez ** range (10) **, cela revient à spécifier ** range (0, 10, 1) **. En d'autres termes, la plage (10) est de 10 nombres 0, 1, 2,…, 9.

J'écrirai réellement le programme. Entrez le code suivant de ** Python Console **.

>>> range(10)
range(0, 10)

Si vous utilisez la fonction range, vous obtiendrez une notation comme range (0, 10) au lieu d'une notation comme une liste. (Une telle notation est parfois appelée notation d'objet ** itérable **.)

Pour lister ceci, écrivez comme suit.

>>> list(range(10))
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

De plus, si vous spécifiez début et étape, ce sera comme suit.

>>> list(range(5, 20, 2))
[5, 7, 9, 11, 13, 15, 17, 19]

Puisque l'étape est 2 et commence à 5, elle sera affichée en sautant un avec un entier de 5 à 19.

Utilisation de la fonction range pour l'instruction for

Écrivons réellement le programme. Créez un fichier avec le nom de fichier 05-04-01.py </ font> dans chap05 </ font> et utilisez le code suivant S'il vous plait écrivez. ** La partie de la fonction d'impression est différente de l'habituelle **, veuillez donc la saisir soigneusement.

.05-04-01.py


for i in range(10):
    print(i, end=' ')


05-04-01.py Résultat de l'exécution

[Résultat de l'exécution] </ font> 0 1 2 3 4 5 6 7 8 9

Une fois exécuté, un nombre de 0 à 9 sera affiché. De plus, bien que ** end = 10 **, veuillez noter que la fin n'est pas 10 mais 9 avant cela.

De plus, ** end = '' '** est décrit dans la ** fonction d'impression . Si seule la ** fonction d'impression ** est utilisée, le résultat de sortie sera interrompu et affiché verticalement, mais en définissant ** end = '' ', un espace demi-largeur' 'sera inséré à la place du code de saut de ligne. Devenir. (La valeur par défaut est le code de saut de ligne.)

Trouvez la somme à l'aide de la fonction range et de l'instruction for

Maintenant, considérons un programme qui trouve la valeur totale d'un nombre pair parmi les valeurs comprises entre 1 et 100. Créez un fichier avec le nom de fichier 05-04-02.py </ font> in font color = "# 00cccc"> chap05 </ font> et entrez le code suivant S'il vous plait écrivez.

.05-04-01.py


sum = 0

for i in range(1, 101): #Exécution dans une instruction for entre 1 et moins de 101 (100 ou moins)
    if i % 2 == 0:  #Si je suis pair, ajoutez
        sum += i

print(sum)


05-04-02.py Résultat d'exécution

[Résultat de l'exécution] </ font> 2550

Si vous suivez le programme, la fonction de plage attribuera une valeur comprise entre 1 et 101 (100 ou moins) à i, et si elle est divisible par 2, elle sera ajoutée à la somme.

Problème de pratique

Nous avons préparé des exercices. Veuillez essayer de le résoudre. De plus, veuillez utiliser le nom de fichier spécifié dans [] et le créer dans chap05 </ font>. Vous pouvez spécifier n'importe quel nom de variable que vous souhaitez. [05-04-p1.py] [1] Créez un programme qui calcule la somme des valeurs entières de 1 à 100 en utilisant la fonction de plage. Le résultat est 5050. [05-04-p2.py] [2] Créez un programme qui calcule la somme des valeurs entières impaires de 1 à 100 en utilisant la fonction de plage. Le résultat est 2500. [05-04-p3.py] [3] Entrez une valeur entière n et créez un programme pour savoir combien de nombres il reste en divisant un entier inférieur à n par 3. (Astuce: réglez start sur 1 lorsque vous utilisez la fonction de plage et répétez n fois.)
05-04-p3.py résultat de l'exécution

[Résultat de l'exécution] </ font> Entrez un entier supérieur ou égal à 1:10 C'est un entier de 1 à moins de 10, et lorsqu'il est divisé par 3, le nombre restant est 3.

Revenir à [Lien de la table des matières]

Recommended Posts