Introduction à la programmation Python
Introduction à la programmation Python
Introduction 1.1
Vous devriez apprendre Python 1.2
Commencer avec Python 1.3
Desvios conditionnels, faisant prendre des décisions à votre programme 1.4
Valeurs None, chaînes et listes 1,5
Listes 1,6
Boucles de répétition - I 1.7
Boucles de Répétition - II 1.8
Dictionnaires 1.9
Modularisation du code avec des fonctions 1.10
Expressions Lambda 1.11
Conclusion 1.12
Résolution des exercices 1.13
2
Introduction
Préface
Le monde est de plus en plus connecté, le besoin de développer notre pensée
la capacité computationnelle et la capacité de résoudre des problèmes par la programmation est
crescente.
À propos de l'auteur
Gabriel Schade Cardoso est développeur de logiciels sur la plateforme .NET depuis 2008.
De plus, il agit en tant que professeur dans le cours de sciences informatiques et de systèmes pour
internet.
Maître en informatique appliquée avec un accent sur l'intelligence artificielle et bachelier en sciences
de l'informatique. Consommateur et créateur de jeux pendant mon temps libre, passionné par la technologie,
littérature fantastique et jeux de cartes.
LinkedIn
Github
Blog personnel
3
Introduction
Tous les chapitres contiennent une liste d'exercices de consolidation, c'est fortement recommandé.
que vous recherchiez des matériaux externes pour compléter votre apprentissage.
De plus, il est fortement suggéré que les exercices soient effectués immédiatement après la
lecture du chapitre, pour garantir la pratique avec la théorie.
J'espère que vous apprécierez ce voyage dans le monde de la programmation en utilisant l'un des
langages les plus simples disponibles !
4
Tu devrais apprendre Python
Si vous voulez commencer à programmer, quel est le meilleur langage ? - Comme toujours, cela dépend.
Si vous avez une compréhension de base (très basique) de l'anglais et que vous souhaitez commencer avec un
langage de marché, je suggère fortement le langage Python. C'est pourquoi nous allons l'utiliser
dans ce livre.
Mais comme je l'ai dit auparavant, tout n'est pas noir et blanc, selon votre expérience et
notions de la langue anglaise, je suggère de jeter un œil à la languePortugol.
Cette langue est maintenue par l'université UNIVALI et a pour objectif de faciliter l'initiation
en programmation utilisant des termes en portugais et une syntaxe simplifiée.
Mais une fois de plus, il convient de souligner que, malgré son excellent caractère éducatif, le Portugol n'est pas
Python est un langage sensationnel, vraiment. Et nous pouvons faire beaucoup de choses avec
Elle, beaucoup même, en devient effrayant.
Je dis souvent que C# et F# sont des langages de programmation à usage général, c'est-à-dire que
peuvent être appliquées à divers scénarios, mais aucune d'entre elles n'est aussi polyvalente que
Python.
Créer des scripts d'automatisation, par exemple, toutes les N minutes, pinguer tous les
pages du site
Graphes;
Vision par ordinateur
Applications de bureau multi-plateforme;
Applications Android;
Applications Web;
Apprentissage automatique
5
Tu devrais apprendre Python
Comme si cela ne suffisait pas, Python est encore un langage avec une syntaxe super
simples. Faisant en sorte que le code ressemble beaucoup à une version simplifiée de
anglais.
Dans ce premier chapitre, nous n'allons atteindre que le début du début, le plus grand hit de
informatique, le grand : "Bonjour le monde" !
print("Bonjour le monde")
Et c'est tout ! Il n'y a rien omis dans le code, il n'y a pas de déclaration de nom compliqué.
comme espace de noms, importation de paquet, fonctionprincipalrien.
Un autre point très sympa à propos de Python est qu'il utilise une syntaxe basée sur
espacement, quelque chose que F# a réutilisé et a également fait.
Cela rend la langue considérablement plus concise, car il n'est pas nécessaire d'utiliser des points et
virgules, accolades et tout le bruit normalement présent dans les codes que les programmeurs
écrivent.
Vous pouvez accéder au site :[Link] sélectionner le langage Python, ce qui vous permet déjà
vous pourrez programmer en Python sans avoir besoin d'installer quoi que ce soit !
Si vous souhaitez un outil plus complet, vous pouvez utiliser la documentation sur comment
installer l'outil et le langage Pythondans ce lien.
6
Commencer avec Python
Il est important de souligner que pour ce livre, j'utilise la version 3.6 de Python et Visual
Studio 2017 comme IDE, vous pourrez choisir un environnement différent, mais je recommande
utiliser le même pour éviter d'éventuels conflits.
Nous allons commencer par le début. Vraiment dès le début. Nous verrons les variables, les types et l'entrée.
et sortie (IO).
De manière simple, les variables sont les données manipulées par votre programme. Ces données
sont stockés temporairement dans la mémoire de votre ordinateur.
Autrefois, il était nécessaire d'être beaucoup plus prudent lors de l'utilisation de trop de variables, à cause de
de la limitation de la mémoire des ordinateurs, de nos jours cela doit encore être pris en compte
considération, mais nous avons beaucoup plus de liberté qu'auparavant.
Mais comme nous savons que les variables sont stockées en mémoire ? - Eh bien, la mémoire de
L'ordinateur fonctionne de manière similaire à notre système social.
La mémoire de l'ordinateur fait la même chose, chaque espace possible a une adresse
unique, ainsi votre ordinateur saura où trouver l'information.
Imagine que l'adresse est les coordonnées de latitude et de longitude d'un endroit, c'est bien
spécifique et ne se répète pas. Mais à quelle fréquence passez-vous votre adresse dans le système
de coordonnées?
Si vous n'êtes pas vraiment étrange, vous utilisez probablement très peu le système de coordonnées,
C'est vrai ? - Nous faisons cela parce qu'il n'est pas intuitif pour la plupart des gens, tout comme
les adresses mémoire dans votre ordinateur.
7
Commencer avec Python
Nous résolvons ce problème en créant des noms pour les pays, les villes et les rues. Dans ce même
logique, nous n'utilisons pas le système d'adressage mémoire de l'ordinateur, il est
trop compliqué et nous n'avons même pas le contrôle total de l'endroit où les choses sont stockées (et cela
c'est super).
Pour accéder aux données en mémoire, nous utilisons des identifiants, c'est-à-dire des noms. Un
Une variable, au final, est une composition de trois choses : identifiant d'accès +
donnée stockée + type.
Attends, quoi ? -Oui, quoi, mais pour l'instant tu n'as pas besoin de te soucié de ça.
Allons au code!
Comment créer une variable en Python ? -C'est très simple, il suffit de lui donner un nom et de l'attribuer.
une valeur en utilisant l'opérateur= , regarde :
valor =42
Et c'est ça.
Ce qui est intéressant, c'est que vous pouvez également effectuer des opérations avec ces valeurs, regardez :
valor =42
42+10
Tout comme dans de nombreuses autres langues, vous pouvez utiliser une variable comme valeur.
C'est-à-dire que tout endroit où vous mettriez une valeur, vous pouvez le remplacer par une
variable.
valor =42
résultat = valeur +10
Vous pouvez afficher le résultat stocké dans les variables avec la fonctionimprimer, regarde :
valor =42
valeur +10
imprimer(resultado)
8
Commencer avec Python
Pratiquons
Faites un algorithme pour résoudre l'équation z = x + y - 4, en stockant le résultat dans
variable z. Considérez que les valeurs initiales de x et y sont, respectivement, 10 et 5.
Après cela, affichez le résultat.
Attention
Il est fortement recommandé que vous essayiez de faire les exercices avant de voir les
réponses. Vous pouvez trouver les réponsesici, fais attention à ne pas recevoir
spoilers des prochains exercices.
Tu as réussi à répondre ? -J'espère que oui ! Si ça n'a pas fonctionné, tu peux vérifier
les réponses dans le lien ci-dessus.
Maintenant que vous avez déjà réalisé quelques petits tests, parlons des types.
Tu te souviens que nous avons dit qu'une variable est composée de : identifiant, donnée et type ? C'est ça.
Je pense que la question de l'identifiant et de la valeur est devenue très claire, mais peut-être le type
tu es peut-être encore confus, mais calme, je t'explique.
Le type est ce qui définit la caractéristique de la donnée que la variable stocke, en Python non
nous devons le dire explicitement à aucun moment, mais nous pouvons le déduire.
Dans les exercices, nous avons effectué quelques opérations mathématiques, mais toutes les données ne sont pas
nombres. Parfois, nous devons stocker des valeurs d'autres types, découvrons-les :
Une chose très intéressante à propos des types est qu'après les avoir connus, nous pouvons
simplement travailler comme nous l'avons fait avec les chiffres avant. Vous n'avez peut-être même pas
réparé, mais dans le deuxième exercice nous avons utilisé à la fois des entiers et des flottants.
9
Commencer avec Python
Vous pouvez utiliser n'importe lequel d'eux et votre programme comprendra qu'il s'agit d'un
chaîne.
print("Bonjour Python!")
Particulièrement, je préfère utiliser la syntaxe avec des guillemets doubles, mais n'hésitez pas à utiliser la
que plus vous plaira.
Allons ensemble créer un programme qui demande le nom de l'utilisateur et l'affiche ensuite.
console ! Pour demander une information à l'utilisateur, utilisez la fonctionentrée, conforme code:
Légal, n'est-ce pas ? - Notez que vous pouvez utiliser la fonctionentréepour obtenir des données de tout type,
pas seulement pour les textes, mais dans les autres cas, il faudra transformer le type.
Nous aurons un chapitre complémentaire sur le type chaîne, il possède diverses caractéristiques
spécifiques. Alors pour l'instant, passons au type suivant : Le type logique !
Les variables de type logique ou booléennes sont utilisées pour définir des vérités (Vrai) et des mensonges.
Voici un exemple :
Vrai
mentira =False
Généralement dans les autres langues, les valeurs de ce type sont écrites en lettres minuscules,
mais en Python, ces valeurs commencent par une majuscule, mais les différences s'arrêtent là.
Tout comme les valeurs numériques, il est également possible d'effectuer des opérations avec des valeurs.
logiques. Dans ce cas, nous utilisons les opérateurs : non (pas),e(et) eou(ou).
10
Commencer avec Python
soleil_du_matin =VRAI
chuva_pela_tarde =False
Hojenãodeu soleil le matin -> si la première affirmation était vraie, cette affirmation est
mensonge
Hojenãochoveu pela tarde -> si la deuxième affirmation était un mensonge, cette affirmation est
vérité
L'opérateur de négation inverse la valeur d'une valeur logique ! Ce qui était vrai auparavant est maintenant
mensonge et vice-versa.
soleil_du_matins =Vrai
chuva_pela_tarde =False
notsol_pela_manha Faux
nonchuva_pendant_l'après-midi
Le deuxième opérateur est l'opérateur. Cet opérateur relie deux valeurs différentes pour
produire un nouveau. Dans ce cas, pour que le résultat d'une opération soit vrai, les deux
Les valeurs liées doivent être vraies.
Aujourd'hui, il a fait beau le matin et il a plu l'après-midi -> ce sera un mensonge, car nous avons défini que
Aujourd'hui, il a fait beau le matin et il n'a pas plu l'après-midi -> cela sera vrai, car en niant le
L'opérateur fonctionne de manière assez similaire à celui-ci, mais dans ce cas, la valeur produite
sera vrai chaque fois qu'une des valeurs est vraie. Ce cas est celui qui fonctionne
pire comparé à notre langue, mais je pense que cela aide encore à comprendre :
Aujourd'hui, il a fait du soleil le matin ou il a plu l'après-midi -> si l'une des affirmations est
11
Commencer avec Python
Pour aider à comprendre ces opérations, nous avons les célèbres "Tableaux de vérité", voyez :
Négation (pas)
Valeur Résultat
Vrai Faux
Faux Vrai
E (et)
Première Valeur Deuxième valeur Résultat
Vrai Vrai Vrai
Ouou)
Premier Valeur Deuxième Valeur Résultat
En plus de ces opérateurs, les types logiques peuvent également être produits en comparant
valeurs de tout type, par exemple : 5 > 3 (cinq est-il plus grand que trois ?), cette expression
renvoie une valeur logique !
12
Commencer avec Python
Opérateur Description
!=
RetourneVraisi les deux valeurs sont différentes
(différent)
Notez que pour comparer les valeurs, nous utilisons deux égaux.== , c'est parce que quand
nous utilisons seulement un égal nous attribuons une valeur. Regardez :
x = 5
y = 10
x = y # -> nous faisons en sorte que la variable x reçoive la même valeur que la variable y
Pratiquons
1. Faites un algorithme qui demande un nombre à l'utilisateur
2. Faites un algorithme qui demande le nom de l'utilisateur puis écrit le nom de la personne
pas de console.
[Link] un algorithme qui demande à l'utilisateur quel âge il a, puis après cela,
écrireVraipas de console, s'il a déjà atteint l'âge majeur (18 ans), au cas où
contraire écrireFaux.
13
Commencer avec Python
Attention
Il est fortement recommandé que vous essayiez de faire les exercices avant de voir les
réponses. Vous pouvez trouver les réponsesici.
14
Desvios conditionnels, faisant en sorte que votre programme prenne des décisions
Maintenant que vous avez déjà vu les types de base et que vous avez beaucoup travaillé avec des valeurs logiques, nous allons
Nous allons créer une déviation conditionnelle, c'est-à-dire que nous allons faire en sorte que le programme suive un
Tout comme presque tout ce dont j'ai parlé ici, la syntaxe pour créer une déviation
Le conditionnel en Python est assez simple.
La première chose que nous devons comprendre est : quand nous parlons d'une condition, cela signifie
que nous devons savoir si quelque chose est vrai ou faux, c'est-à-dire que nous devons utiliser un type
logique.
L'idée derrière les déviations conditionnelles est utilisée tout le temps dans nos conversations.
jour après jour, voyez cet exemple :
Voyez le raisonnement derrière! Nous devons vérifier si le marché a du lait en stock, s'il
Tiver, nous allons l'acheter, mais s'il n'y en a pas, nous allons acheter de l'eau.
Comme Python utilise l'anglais comme langue par défaut, la condition est traduite en
commandesi, regarde :
leite_em_estoque =True
ifleite_em_estoque
J'ai acheté du lait
sinon :
J'ai acheté de l'eau
Tu vois ? Maintenant nous pouvons faire en sorte que les algorithmes prennent des décisions !
15
Desvios conditionnels, faisant prendre des décisions à votre programme
Remarquez également qu'après la condition, il est nécessaire de mettre les deux points, c'est-à-dire
Créez une variable numérique pour représenter une note d'un examen, après cela
Affichez le message "Approuvé" si la note est supérieure ou égale à 7, sinon
Rejeté
nota =5
si nota >=7 :
Approuvé
sinon :
Reprovado
Dans ce cas, vous pouvez opter pour deux approches distinctes : enregistrer le résultat de
comparaison dans une variable logique et la comparer ou utiliser l'expression directement dans
commandesi.
Généralement, il est plus courant d'utiliser l'expression directement dans la commande, sauf dans
cas où cette même comparaison doit être faite plusieurs fois, dans ces cas c'est
mieux vaut stocker le résultat et le réutiliser plutôt que de faire la comparaison plusieurs fois
fois.
Il arrive aussi que nous devions traiter plus de deux cas, c'est-à-dire qu'il existe des situations dans lesquelles
umsee umsenaonão ne sont pas suffisants pour répondre à toutes les conditions, voyez cet exemple :
Un élève qui obtient plus de 7 est déjà approuvé, s'il obtient 7 ou 6, il ira en récupération et
En dessous de cela, vous serez recalé. Comment faire ?
nota =6
si nota >7 :
Approuvé
sinon :
si nota != 7 ou nota != 6 :
Récupération
sinon :
Reprovado
16
Desvios conditionnels, faisant prendre des décisions à votre programme
Pour les cas où une expression est nécessaire : sinon si, utilisez la commandesinon siCeci
comando est un mélange des deux précédents. Il fonctionne comme unsi, mais ce ne sera que
testé au cas oùsianterior a ter résulté enFauxvois :
si note >7 :
Approuvé
elifnota == 7 ou nota == 6 :
Récupération
sinon :
Reproché
Cet exemple est assez simple, mais il nous permet déjà de comprendre l'utilisation dusinon si. É
Il est également important de souligner que cette commande de déviation ne permet qu'unsiet un
sinonqu'ils soient connectés, mais vous pouvez en insérer combien vous voulezelifnécessaires.
Valeurs fiables
Un autre concept intéressant en Python est la question des valeurs True, ce concept définit
quand les valeurs sont fiables ou vraies pour utilisation. Par exemple, dans le cas d'un
numéro, toute valeur qui est différente de zéro est une valeur fiable (y compris les nombres
négatifs).
Il en va de même pour les textes (chaînes), tout texte différent de vide est considéré.
comme fiable, c'est-à-dire que seule la valeur "" ne l'est pas.
valor =4
si valeur !=0 :
Valor n'est pas zéro
ifvalor
print("La valeur n'est pas zéro")
Les deux codes feront la même chose, mais la deuxième forme est encore plus simple !
même sert pour les chaînes :
17
Desvios conditionnels, faisant prendre des décisions à votre programme
test
si texto !="":
print("Le texte n'est pas vide")
iftexto
print("Le texte n'est pas vide")
Une autre chose que nous pouvons explorer normalement est la question des multiples conditions.
Nous pouvons utiliser les opérateurspas, eteoupour créer une condition de la même
forme que nous utilisons pour l'attribution d'une valeur logique.
nota1 =7
nota2 =10
deu_sol =True
if notdeu_sol:
print("Il a plu")
Cette autre forme est connue sous le nom de condition ternaire. Elle est principalement utilisée pour
des conditions courtes et permet une syntaxe plus agile, généralement sur une seule ligne.
L'ordre des choses change un peu, mais cela ressemble encore beaucoup à un langage naturel.
Regardez cette phrase :
nota =6
si nota >=7 :
Approuvé
sinon :
Reprovado
Maintenant, voyons comment cette même opération se présente en utilisant une condition ternaire.
nota =6
imprimer("Aprové" si nota >= 7 sinon "Rejeté" z)
18
Desviations conditionnelles, faisant en sorte que votre programme prenne des décisions
L'ordre des mots change un peu, mais ne vous inquiétez pas, prenons notre temps et ça ira bientôt.
vous vous y habituez.
Allons Pratiquer
1. Faites un algorithme qui demande 3 notes à l'utilisateur, calcule la moyenne et indique si le
L'étudiant a été approuvé ou désapprouvé (la note doit être supérieure ou égale à sept pour que l'étudiant soit approuvé)
être approuvé).
2. Créez un algorithme qui demande l'année de naissance de l'utilisateur, après cela, faites le
programme décrire si l'utilisateur aura ou a déjà 18 ans cette année.
Enfant de 0 à 11 ans;
Adolescente de 12 à 18 ans;
Jeune de 19 à 24 ans;
Adulte de 25 à 40 ans;
Meilleurs Âges de 41 à 60 ans
Personne âgée de plus de 60 ans.
4. Faites un programme qui demande à l'utilisateur 2 valeurs, utilisez une condition ternaire pour
écrire quel est la plus grande valeur : le premier ou le second (si les valeurs sont égales,
considérer le second).
Attention
Il est fortement recommandé d'essayer de faire les exercices avant de voir les
réponses. Vous pouvez trouver les réponsesici.
19
Valeurs None, Chaînes et Listes
ValeursAucunsont utilisés pour décrire des variables qui ont été créées, mais qui ne
n'ont aucune valeur associée à elles. Attends, comment ça ?
Je explique.
Pour utiliser une variable, vous devez la déclarer d'abord, n'est-ce pas ? Faisons un essai !
Exécutez le code ci-dessous :
imprimante(teste)
Ce code, aussi simple et inoffensif qu'il puisse paraître, génère une erreur dans son
application.
Cette erreur se produit parce que la variabletesteelle n'a pas été créée avant, alors que se passe-t-il
nous appelonsNameError.
Mais si nous ne voulons pas que cette erreur se produise, mais en même temps, nous ne...
nous voulons allouer de la mémoire pour la variabletest, comment faire ? - Utilisez leAucun!
teste =None
imprimer(teste)
Problème résolu !
Un autre point important est que les écarts conditionnels aboutiront toujours àFauxquand
réalisé avec une variable contenant la valeurNone :
teste =None
ifteste
print(teste)# -> ne sera pas exécuté
20
Valeurs None, Chaînes et Listes
Ce type permet une série d'opérations différentes. Nous pouvons vérifier si le texte contient
Seulement des chiffres, mettre la première lettre en majuscule, remplacer une lettre dans le texte et beaucoup
d'autres choses.
Toutes ces opérations sont appelées des fonctions. C'est un concept assez puissant.
dans les langages de programmation.
Par définition, une fonction est un comportement qui appartient à quelque chose, tandis qu'une
Une variable est une caractéristique de quelque chose.
Mais votre voiture démarre, accélère et freine aussi. Toutes ces choses sont des comportements, ou
soit, ce sont des actions de la voiture. Les actions sont traduites dans un programme par des fonctions.
gabriel
[Link]()
imprimer(nome_maiusculo)# -> Gabriel
Notez que lorsque nous exécutons une fonction, il est nécessaire d'utiliser() , cela se produit parce que
il existe des cas où nous devons informer des valeurs pour effectuer une action, pour remplacer
une lettre avec la fonctionremplacer, par exemple.
Dans ce cas, nous devons informer deux valeurs différentes : la première indique la lettre qui sera
substituée et le second indique la lettre qui la remplacera, voyez :
gabriel
[Link]('e','a')
imprimer(nome_com_letra_alterada)# -> gabrial
Ces valeurs qui sont passées à une fonction s'appellent des paramètres.
Une autre fonction très utile dans les chaînes est la fonctionformat, elle permet, comme le nom le suggère,
formater des textes.
21
Valeurs None, Chaînes et Listes
Alors je peux mettre un texte en italique ? - Non, nous ne parlons pas de ce type de
formatage.
Bonjour {0}
print(mensagem)# -> Bonjour Gabriel
D'accord, mais c'est devenu trop confus ! - Tranquille, ce n'est rien de sérieux.
Que fait la fonctionformatfait est de remplacer dans le texte la mise en forme{N}par le paramètre N.
Où N est l'ordre des paramètres, commençant par zéro (0). Voir un autre exemple :
Tu vois ? Le premier paramètre est entré à la place de"{0}", le deuxième à la place de"{1}"e
ainsi de suite !
Comme on peut le voir dans le code, toutes les occurrences de ce format sont remplacées
par le paramètre !
En réalité, il existe une deuxième façon de mélanger du texte libre avec des variables, elle se
appelle interpolation de chaînes.
Je considère cette syntaxe plus simple à comprendre. Pour faire une interpolation de
nous devons mettre la lettre "f" avant la chaîne.
Avec cette notation, la syntaxe n'est plus basée sur la position des paramètres, il suffit de
nous mettons directement le nom de la variable entre accolades.
Bonjour {nome_maiusculo}
Bonjour Gabriel
22
Valeurs None, chaînes et listes
Passons maintenant à la dernière fonction de chaînes que je vais vous montrer, elle s'appellediviser!
Cette fonction est très utile et assez populaire. Dans ce cas, nous avons choisi un caractère pour
casser le texte en différentes parties. Par exemple, imaginez une variable avec le suivant
valeurassiette, fourchette, verre.
Cette variable contient le nom de certains ustensiles de cuisine, mais que se passerait-il si nous devions les séparer ?
Lorsque nous utilisons la fonctiondivisernous avons divisé le texte en plusieurs morceaux différents, après tout,
nous avons maintenant trois éléments au lieu d'un texte.
Mais si nous ne pouvons stocker qu'une valeur dans une variable, comment garderions-nous les 3 éléments ?
Pour notre chance, il existe un type spécial appelé chamadolista. Ce type fonctionne comme une collection.
item = items_kitchen.split(",")
D'accord, mais maintenant comment puis-je accéder aux valeurs individuelles ? -Simple, nous utilisons un
indice.
Ne t'inquiète pas, c'est assez simple, après tout tu as déjà travaillé avec des indices dans la fonctionformat,
c'est exact, les indices sont des nombres séquentiels qui dans le cas de Python commencent par zéro
(0).
Dans le cas des listes, nous utilisons des crochets pour définir les indices, voyez :
itens = itens_cuisine.split(",")
imprimer(itens[0])# -> plat
print(itens[1])# -> fourchette
print(itens[2])# -> verre
Nous devons toujours faire attention lors de l'accès à un index, car lorsque nous accédons aux indices
au-delà des limites de la liste, une erreur est générée !
23
Valeurs None, Chaînes et Listes
Gardez à l'esprit que l'index le plus élevé de la liste sera toujours égal à sa taille -1.
dans notre exemple, nous avons trois éléments différents, donc le dernier indice valide est 2.
Allons Pratiquer!
1. Faites un programme qui demande le nom de l'utilisateur et ensuite fait une salutation.
Bonjour {nom saisi par l'utilisateur}
3. Faites un programme qui demande l'âge de l'utilisateur, vérifiez si le texte saisi est seulement
contient des chiffres. Si cela ne contient que des chiffres, affichez le message : "Vous avez"
4. Faites un programme qui demande le nom complet de l'utilisateur et affiche seulement le sien
deuxième prénom/premier nom de famille.
Attention
Certains exercices utilisent des fonctions qui n'ont pas été montrées dans ce post, vous pouvez
cherchez-les sur Internet, la documentation Python ou tapez simplement la chaîne
dans Visual Studio, appuyez sur ctrl + espace (il affichera les fonctions disponibles).
Il est fortement recommandé que vous essayiez de faire les exercices avant de voir les
réponses. Vous pouvez trouver les réponsesici.
24
Listes
Vous n'avez pas besoin de créer une variable pour chaque élément de la liste ! Comme nous l'avons vu dans le chapitre
passé, vous pouvez manipuler plusieurs valeurs sous une seule variable. Ces variables se
Listes de chama!
Tout comme les exemples décrits précédemment, tout type d'information qui doit être
regroupée dans un certain type d'ensemble utilise cette ressource, un exemple de cela était la fonction
diviserque nous avons vu au chapitre précédent.
Commençons par voir comment créer une liste vide, c'est-à-dire une variable qui s'identifie
avec le type liste, même s'il ne contient rien en lui-même, tout comme beaucoup d'autres choses,
Il est très facile de définir une liste en Python, il suffit de déclarer le nom de la variable et d'utiliser
lista_de_compras = []
Simple comme ça ! De plus, vous pouvez également créer la liste en incluant déjà certains éléments dedans !
Il suffit de séparer chaque élément de la liste par une virgule !
lista_de_compras = ["Pão","Água","Leite","Ovos"]
Percevez que chaque élément de la liste est initialisé individuellement et séparé par des virgules. Vous
Tu te souviens comment nous accédons à chaque élément de la liste ? -À travers son indice !
Il est important de se rappeler que l'index commence toujours à zéro, essayer d'obtenir le premier élément
utiliser l'indice 1 est une erreur courante chez les débutants, mais avec le temps, vous vous
s'habitue.
Un point intéressant dans Python est que vous pouvez également accéder à la liste par l'arrière.
devant, mais maintenant l'indice commence à -1 :
25
Listes
print(lista_de_compras[-1])
print(lista_de_compras[-2])
print(lista_de_compras[-3])
imprimer(lista_de_compras[-4])
Vous pouvez changer la valeur d'un élément dans une liste aussi facilement que vous pouvez l'obtenir, il suffit d'utiliser le
Jus d'orange
Le code change l'élément "Lait" en "Jus d'Orange", fonctionnant de la même manière que
une variable commune.
Jusqu'à présent, nous n'avons que modifié la valeur d'éléments déjà existants, mais si nous devons en ajouter un
nouvel élément, comment faisons-nous ?
Que se passe-t-il si nous essayons d'accéder à la position après la fin de la liste ? - Dans notre cas, le
position 4. Voir :
Café
Ce code ne fonctionnera pas, car cette attribution doit être utilisée uniquement pour modifier le
valeur des articles déjà existants!
Pour inclure un nouvel élément, il est nécessaire d'utiliser la fonctionajouteret en informant l'élément que
lista_de_compras.append("Café")
26
Listes
En utilisant leajouter, nous ajoutons un élément à la fin de la liste, c'est-à-dire qu'il sera le dernier
élément. En plus deajouteril existe diverses autres fonctions et ressources pour travailler
avec des listes. L'une des ressources disponibles est le mot réservédans.
Nous pouvons utiliser cette commande pour vérifier si un élément est dans la liste, il suffit d'utiliser le
Cela nous permet de créer des écarts conditionnels, par exemple, regardez :
Une autre tâche très courante est le besoin de compter combien d'articles se trouvent dans une liste donnée.
La fonctionlongueurc'est une abréviation de paralength, un mot anglais pour taille. Cette fonction
doit recevoir une liste en paramètre et elle retournera un entier avec la quantité de
éléments.
Notez que la quantité d'éléments n'est pas la même chose que la position maximum du
indice. Dans notre exemple, la liste contient cinq éléments, donc nous avons comme indices valides
0 à 4.
Nous avons vu comment ajouter des éléments à une liste, comment vérifier si un élément y est contenu et
jusqu'à vérifier la quantité d'articles, mais nous n'avons pas encore vu comment supprimer un article de la liste.
Une idée ?
lista_de_compras[2] =None
En effectuant l'opération ci-dessus, vous direz que l'élément à la position 2 ne contient rien et ne
qu'il n'y a pas d'élément à la position 2. Tu perçois la différence subtile ?
27
Listes
Dans le premier cas, vous dites que la position 2 existe, mais il n'y a rien dedans, tandis que dans
deuxième cas, vous l'enlevez de la liste.
Ok, mais comment faisons-nous pour l'enlever de la liste ? De la même manière que nous avons une
dellista_de_compras[3]
Il est maintenant important que vous notiez que la position 3 ne cessera pas d'exister. Ce qui se passe de
En fait, tous les éléments qui se trouvaient à une position supérieure à celle de l'élément exclu sont
déplacés d'une position vers la gauche.
C'est-à-dire que nous avions le café à la position 4 et maintenant il est à la position 3, ce qui fait que la
Allons Pratiquer
1. Faites un programme qui initialise une liste avec les noms des personnes de votre famille.
2. Créez un programme qui initialise une liste vide et demande à l'utilisateur 3 noms de
villes, une à la fois, chaque fois que l'utilisateur saisit un nom, le programme doit inclure
ce nom dans la liste des villes.
3. Faites un programme qui initialise une liste avec plusieurs nombres différents, puis
disso, demandez à l'utilisateur un numéro, vérifiez si le numéro est ou non dans la liste et affichez
un message informant l'utilisateur du résultat.
4. Faites un programme qui initialise une liste vide et la remplit avec 5 noms différents
saisis par l'utilisateur, ensuite demandez un nombre de 0 à 4 et supprimez l'élément
de cette position.
Attention
Il est fortement recommandé que vous essayiez de faire les exercices avant de voir les
réponses. Vous pouvez trouver les réponsesici.
28
Listes
29
Boucles de Répétition - I
Dans le chapitre précédent, le fonctionnement des listes a été expliqué, nous continuerons donc à les utiliser.
listes ici.
Vous devez vous souvenir de comment nous accédons à un élément d'une liste, n'est-ce pas?
à travers son index ! Faisons un exemple en créant une liste de dix nombres, regardez :
numeros = [10,20,30,40,50,60,70,80,90,100]
numeros = [10,20,30,40,50,60,70,80,90,100]
imprimer(numeros[0])
imprimer(numeros[1])
print(numeros[2])
print(numeros[3])
print(numeros[4])
imprimer(numeros[5])
imprimer(numeros[6])
imprimer(nombres[7])
imprimer(numeros[8])
print(numeros[9])
Remarquez que cette tâche est assez lourde, de plus, nous pouvons rencontrer des problèmes avec
listes plus longues. Ce type de tâche répétitive peut être remplacé par une boucle de répétition !
numeros = [10,20,30,40,50,60,70,80,90,100]
fornumeroinnumeros
imprimer(numero)
Bien plus simple, n'est-ce pas ? Mais calme, comprenons comment cela fonctionne.
commande.
30
Boucles de Répétition - I
Le résultat est remarquable que les instructions ci-dessous le commandentpournous exécutons plus de
Une fois, en fait c'est pour ça qu'on les appelle des liens de répétition. Parce qu'ils répètent les
Allons-y, d'abord la syntaxe pour la commande : il est nécessaire d'utiliser le mot réservépour
pour commencer la commande, similaire à ce que nous avons fait avec la commandesi.
Nous déclarons donc une variable, suivie de la commandedanse do nom d'une variable qui
soyez une liste.
Avec cette structure, nous définissons que la variable que nous avons créée (numéro, dans notre exemple)
vous recevrez un élément de la liste à chaque interaction de la boucle, c’est-à-dire que d'abord la variable numéro
reçoit la première valeur de la liste, exécute toutes les opérations de la boucle de répétition (dans ce
caso juste un imprimé) et retourne au début du bloc, en modifiant la valeur de la variable pour le
prochain élément de la liste.
Cela se produit jusqu'à ce que la liste arrive à sa fin, à ce moment-là la boucle de répétition est fermée et le
Mais alors, ne pouvons-nous utiliser la boucle de répétition que pour parcourir des listes ? - Définitivement,
non.
Nous pouvons également les utiliser pour répéter une série d'instructions, même s'il n'y a pas de.
liste impliquée, pour faire cela nous avons la fonctiongammedisponible dans Python.
valor =0
pourindiceenportée(5):
valor +=10
print(valeur)
Dans ce cas, les valeurs suivantes seront affichées : 10, 20, 30, 40 et 50. C'est parce que la fonctionplage
indique que la boucle doit être répétée 5 fois. Pour garantir cela, elle crée une liste avec les
valores [0, 1, 2, 3, 4].
Cette fonction crée une liste dans ce format par défaut, mais il est possible de modifier cela.
comportement à travers des paramètres. Il est possible, par exemple, d'utiliser deux paramètres
différents, l'un avec la valeur initiale et l'autre avec la valeur limite.
imprimer(valeur)
Dans ce cas, la liste créée contiendra les valeurs : [5, 6, 7, 8, 9]. Notez que la valeur limite n'est jamais
inclus dans la liste, il définit en effet sa limite et non sa dernière valeur.
31
Boucles de Répétition - I
Un dernier modificateur possible dans la fonctionplageet le saut entre chaque valeur. Nous pouvons
spécifier pour que les valeurs augmentent de deux en deux, de dix en dix et ainsi de suite. C'est tout.
ajoutons un dernier paramètre !
imprimer(valor)
Dans ce cas, la liste résultante est : [0, 2, 4, 6, 8], c'est plutôt cool, non ?
Maintenant que nous avons vu les variations deétendueet de cette commande, nous allons pratiquer !
Allons pratiquer
1. Faites un programme qui initialise une liste de courses avec 5 articles différents et affiche
tous utilisant une boucle de répétition.
2. Faites un programme qui initialise une liste avec les valeurs de 1 à 10 et ensuite
affichez uniquement les nombres pairs.
3. Créez un programme qui affiche toutes les valeurs impaires entre 50 et 100 en utilisant le
plage.
4. Faites un programme qui initialise une liste vide, demande à l'utilisateur 10 chiffres
différents, un par un. Si le nombre saisi est pair, ajoutez un à sa valeur.
Après cela, affichez les 10 numéros saisis.
5. Faites un programme qui affiche les tables de multiplication de 1 à 10 au format : "2 x 3 = 6", (utilisez
deux commandespour)
Attention
Il est fortement recommandé d'essayer de faire les exercices avant de voir les
réponses. Vous pouvez trouver les réponsesici.
32
Boucles de Répétition - II
Sa syntaxe est un peu différente de la syntaxe depour, mais très similaire à la syntaxe de
commandesi, mais ne te méprends pas, les similitudes entre lesiet otandis finissent là.
que
numeros = [10,20,30,40,50,60,70,80,90,100]
L'idée derrière la commandetandis querépéter une tâche tant qu'une condition est remplie
véritable, c'est-à-dire, dans la déclaration de la commande nous devons effectuer une comparaison, si
cette comparaison soit vraie, le bloc d'instructions dutandis sera exécuté.
que
Le programme reviendra au début du bloc après que la dernière instruction de cette commande ait été
exécutée, faisant à nouveau la comparaison.
numeros = [10,20,30,40,50,60,70,80,90,100]
posicao =0
whileposicao < len(numeros):
print(numeros[posicao])
position += 1
Note que cela finit par être un peu différent de la commandepour. Dans ce cas, nous avons besoin
stockez la position de la liste dans une variable et modifiez-la manuellement à chaque répétition du
boucle.
Cela peut causer un problème sérieux dans votre programme ! Si par hasard nous oublions de
modifier les valeurs qui effectuent la comparaison dupendant quenous pouvons rester coincés dans une boucle
33
Boucles de Répétition - II
numeros = [10,20,30,40,50,60,70,80,90,100]
posicao =0
whileposicao < len(numeros):
print(numeros[posicao])
Par conséquent, n'oubliez pas de modifier les valeurs qui influencent la comparaison !
Si pour une raison aléatoire, vous décidez que vous voulez faire une boucle infinie,
il suffit d'utiliser la commande de cette manière :
Maintenant, passons à deux nouvelles commandes qui peuvent être utilisées dans une boucle de
répétition, je dois dire que je n'aime aucun d'eux, mais ils existent et je ne prévois pas
ignore-les.
Ce sont eux :continuere opause, les deux interfèrent dans les interactions de la boucle de répétition.
34
Boucles de Répétition - II
Faisons un exemple pour écrire tous les éléments de la liste de nombres, sauf le
position 5 :
posicao =0
tandisque posicao < len(numeros):
posicao += 1
siPosition ==5:
continuer
print(numeros[posicao-1])
Voici la question qui me fait ne pas aimer cette instruction, vous pouvez simplement réajuster
les instructions pour ne pas avoir besoin d'utiliser lecontinuer, regarde :
posicao =0
tant que posicao < len(numeros):
posicio +=1
si posicao != 5 :
print(numeros[posicao-1])
Le résultat final est le même et dans ce cas vous n'interrompez pas le flux principal de
programme.
L'autre instruction est lepause, dans ce cas, l'interruption est plus agressive, elle interrompt le
propre boucle de répétition entière, pas seulement l'itération actuelle.
posicao =0
whileposicao < len(numeros):
position +=1
si position == 5:
pause
print(numeros[posicao-1])
Avec le code ci-dessus, les nombres de la position 0 à la position 4 seraient affichés. Aucun
le numéro après la position 4 apparaîtra dans la console, car lepauseinterrompit tout le
boucle de répétition.
35
Boucles de répétition - II
La stratégie pour éviter lepauseC'est simple. Si vous l'utilisez, c'est probablement votre
la logique de vérification dans la boucle de répétition ne remplit pas son rôle. Dans l'exemple ci-dessus
nous ne voulons pas parcourir jusqu'à la fin de la liste comme la condition le suggère, mais plutôt jusqu'à la quatrième
position :
posicao =0
tant que position < 5 :
print(numeros[posicao])
posizione +=1
Allons pratiquer
1. Faites un programme qui initialise une liste de courses avec 5 articles différents et les affiche.
tous utilisant une boucle de répétitionalors que.
2. Faites un programme qui initialise une liste avec les valeurs de 1 à 10 et ensuite l'affiche
juste les nombres pairs utilisanttandis que.
3. Faites un programme qui initialise une liste vide, demande à l'utilisateur 10 numéros
nombres impairs différents, un à la fois. Si le numéro saisi est pair, demandez à nouveau
un nombre, jusqu'à ce que la valeur soit un nombre impair. Après cela, affichez les 10 nombres
numérisés.
4. Faites un programme qui affiche un menu pour que l'utilisateur sélectionne l'une des trois options :
Bonjour le monde
Je programme en Python
3 - Boucles de répétition
Le programme doit demander à l'utilisateur l'une des 3 options, si l'utilisateur saisit une valeur
différent des options (1, 2 ou 3), le programme doit à nouveau présenter le menu de
options jusqu'à ce qu'une d'entre elles soit choisie. Enfin, le programme doit afficher un message
différent pour chaque option.
numeros = [1,2,3,4,5,6,7,8,9,10]
posicao =0
tandis que position < len(nombres):
position +=1
si position == 3 :
continuer
elifposicao == 6:
pause
print(numeros[posicao-1])
36
Boucles de Répétition - II
Attention
Il est fortement recommandé que vous essayiez de faire les exercices avant de voir les
réponses. Vous pouvez trouver les réponsesici.
37
Dictionnaires
À ce stade, vous devriez déjà être familiarisé avec les listes et les boucles, maintenant vous êtes déjà
au moment de créer plus de structures, cette fois, nous allons utiliser les dictionnaires!
Les dictionnaires permettent au développeur de stocker facilement des paires clé-valeur ! Dans
pratique cela signifie que nous parvenons à créer une structure pour stocker plus d'une
information corrélée.
Imaginez que vous souhaitez stocker des données sur une personne. Vous aurez besoin de conserver le
nom, prénom, âge et combien d'autres informations seront nécessaires. Est-il possible de créer
toutes ces variables séparées ? Mais bien sûr que oui !
Le problème de cette approche est que votre programme ne pourrait pas établir de lien avec les
informations. Pour votre programme, c'est comme si ces variables étaient des données séparées
entre eux, c'est-à-dire, sans aucune relation.
Si vous avez déjà vu un objet enJSON, vous verrez qu'il existe de nombreuses similitudes
entre ces deux choses, regardez à quoi ressemble un dictionnaire en Python :
personne
Gabriel
Schade
"idade":27
}
Dans notre cas, les clés sont des valeurs de typechaîne, mais il n'y a pas d'obligation
nisso (malgré le fait que ce soit assez commun) tandis que les valeurs varient généralement de
types.
Tout comme dans les listes, nous pouvons modifier et obtenir les valeurs d'un dictionnaire, mais dans ce cas
au lieu d'utiliser un indice, nous utilisons une clé. Cela fait que les dictionnaires
soyez extrêmement simples à travailler, voyez le code suivant :
Schade Cardoso
Ce code est assez similaire à la modification de la valeur d'un élément dans la liste et fait la même chose,
mais cette fois en changeant une valeur d'un dictionnaire.
38
Dictionnaires
Nous pouvons effectuer le même processus pour obtenir une valeur du dictionnaire et l'enregistrer dans
une autre variable, regarde :
pessoa["nom"]
Avec cela, nous pouvons manipuler les informations liées dans un même dictionnaire.
Nous pouvons par exemple afficher dans la console le nom complet de la personne :
En utilisant des dictionnaires, vous devez faire attention, car si la clé n'existe pas, l'application
Cela va lancer une erreur ! Faites le test :
pessoa["cpf"]
Sachant cela, il existe une autre façon en Python d'obtenir une valeur d'un dictionnaire.
Nous pouvons le faire grâce à la fonctionobtenir. Pour cette fonction, nous devons envoyer deux
informations : la clé est une valeur par défaut pour le cas où la clé n'existe pas.
[Link]("cpf", None)
print(cpf)# -> Aucun
À travers duobtenirnous pouvons chercher une valeur dans un dictionnaire de manière sûre, en faisant avec
que l'application ne génère pas d'erreurs.
[Link]és()
forchaveinchaves
print(chave)
valeurs = [Link]()
pourvaleurdansvaleurs
imprimer(valor)
39
Dictionnaires
Nous pouvons utiliser ces fonctions pour écrire chaque clé et sa valeur respective, par
exemple :
les clés
forchaveinchaves
valeur = personne[chave]
clé +": " + str(valeur)
imprimer( texte )
Le code ci-dessus a été séparé pour clarifier l'étape par étape des instructions, mais vous
vous pouvez inclure toutes ces instructions en une seule ligne de code si vous le jugez préférable
confortable
[Link]és()
forchaveinchaves
print( clé, ":", str( personne[clé]) )
Enfin, tout comme nous l'avons fait avec les listes, nous pouvons également supprimer un élément de
delpessoa
print(pessoa["sobrenome"])
Allons Pratiquer
1. Créez un programme qui crée un dictionnaire pour définir un produit, contenant son
description
2. Écrivez un programme qui initialise une liste de courses avec 5 articles différents, où
chaque élément est un dictionnaire contenant la description et le prix du produit. Après cela,
parcourez la liste et affichez les informations de chaque élément.
3. Utilisez la liste de courses du programme précédent pour identifier quel est le produit le plus
Quel est le produit le moins cher et le produit le plus cher de la liste de courses.
40
Dictionnaires
Attention
Il est fortement recommandé que vous essayiez de faire les exercices avant de voir les
réponses. Vous pouvez trouver les réponsesici.
41
Modularisation du code avec des fonctions
Ce chapitre est peut-être un peu plus théorique que les précédents, mais ne vous inquiétez pas,
programmons beaucoup ici aussi !
Jusqu'à présent, nous programmons des solutions petites. Chaque exercice était basé sur
un problème spécifique que nous avons réussi à résoudre avec peu de lignes de code, mais en
dans les applications réelles, il est courant qu'un seul programme résolve diverses choses différentes.
La création de solutions plus complexes et de programmes plus grands devient une tâche assez
Il est difficile de continuer à programmer de la manière dont nous le faisons. Nous devons faire en sorte que le
De cette façon, chaque fois que nous devrons résoudre un problème plus complexe,
nous pouvons connecter ces pièces pour former une solution.
Pour cela, nous avons besoin que ces pièces soient réutilisables, tout comme des pièces de lego.
42
Modularisation de code avec des fonctions
En fait, au cours des exercices précédents, nous avons déjà utilisé des fonctions disponibles dans Python.
plusieurs fois. Leimprimere oentréece sont des exemples de fonctions disponibles, mais le plus
Ce qui est intéressant, c'est que nous pouvons définir nos propres fonctions!
De manière générale, chaque fonction doit effectuer une seule action. De cette façon, elle devient plus
réutilisable et utile pour vos programmes.
Chaque fois que vous avez une fonction qui effectue plus d'une tâche, soyez attentif, cela
c'est probablement un signe de mauvais code. Peut-être que cette fonction devrait être divisée en deux
ou plus de fonctions.
Voyons comment nous pouvons définir une fonction dans notre code Python !
défaillance_monde() :
imprimer("Bonjour le monde")
43
Modularisation du code avec des fonctions
Enfin, nous incluons les caractères() , à partir d'ici nous utilisons les: et tous les
Les commandes appartenant à ce bloc suivent les mêmes règles que les commandes déjà vues :
si, pendant, poure, etc.
Mais il y a une différence importante, lorsque nous définissons une fonction, nous ne faisons pas en sorte que ceux-ci
des commandes seront exécutées, nous ne faisons que décrire ce qui va se passer lorsque
exécuter la fonction.
Pour exécuter une fonction, vous devez utiliser son nom suivi des parenthèses, voyez :
Vous pouvez mettre autant de commandes que vous le souhaitez dans une fonction et toutes seront
exécutés dès que la fonction est exécutée.
Après qu'une fonction est définie, c'est comme si l'appel pour l'exécuter était un nouveau
commande Python, à partir de maintenant, nous créons nos propres instructions et elles
se comportent de la même manière que les fonctions de Python.
Voyez comment se déroule le flux d'exécution du programme en tenant compte que cet appel est
réalisée entre des opérations que nous avons déjà vues auparavant.
numero =10
numero2 =15
bonjour_monde()
résultat
Lorsque cela se produit, l'exécution du code principal « gèle » pour exécuter toutes les
instructions de la fonction. Après cela, il retourne à l'instruction suivante.
44
Modularisation du code avec des fonctions
Diviser un algorithme en parties plus petites aide également beaucoup à la testabilité d'un
programme. Il est toujours plus simple de tester un petit bloc que le programme par
complet.
Paramètres
Il est courant d'avoir besoin de données pour effectuer une opération. Regardez la fonctionimprimer
par exemple, la tâche de cette fonction est d'écrire n'importe quoi dans la console n'est-ce pas ? -C'est ça.
Pour permettre que cela soit possible, la fonctionimprimerdoit recevoir un paramètre. Non
Dans le cas de la fonction print, le paramètre est le texte qui sera écrit, mais les paramètres peuvent être
defelevar_au_carré(nombre):
imprimer(numero * numero)
45
Modularisation du code avec des fonctions
Il suffit de mettre le paramètre entre les parenthèses dans la définition de la fonction ! Comme déjà
nous avons utilisé plusieurs fois la fonctionimprimervous devez imaginer comment nous avons passé un nombre
pour cette fonction, n'est-ce pas ?
éléver_au_carré(9)
Il est intéressant de noter que nous pouvons également passer des variables et des expressions dans le paramètre,
vois ça :
élever_au_carré(9)
élever_au_carré(4+5)
neuf
élever_au_carré(neuf)
Dans tous les cas, le résultat de la fonction sera le même, après tout, nous passons le même
paramètre!
Nous allons maintenant créer une fonction qui additionne deux nombres différents ! Oui, vous pouvez créer
multiples paramètres ! Il suffit de les séparer par une virgule, regardez :
defsoma(numero1, numero2):
imprimer(numero1 + numero2)
somme(2,5)# -> 7
soma(3,3)# -> 6
soma(10,5)# -> 15
De plus, il n'y a aucune restriction sur le type envoyé en paramètre, voici un autre exemple :
defsaudacao(nom):
print("Bonjour", nom)
Retours
En plus de recevoir des informations (paramètres), les fonctions peuvent également produire des résultats.
46
Modularisation de code avec des fonctions
D'autre part, la fonction n'a pas beaucoup de senssomajuste écrire le résultat de la somme.
La fonction deviendrait beaucoup plus réutilisable en produisant un résultat. De cette façon, le
le développeur pourrait faire ce qu'il voulait avec le résultat, y compris l'écrire.
Chaque fois que nous devons créer un retour, nous utilisons le mot-clé réservéretour. Elle fait
comme la fonction produise un résultat, tout comme une expression.
Refactorisons la fonctionsoma:
defsoma(numero1, numero2):
retournernumero1 + numero2
Il suffit de penser que la fonction commence à se comporter comme une expression, donc nous pouvons
réaliser des attributions, des additions et toute autre opération que nous pourrions faire avec une
expression. Voir :
somme(1,2)
imprimer(resultado)# -> 3
somme(2,2) * 3
print(resultado)# -> 12
somme(5,5) - 2*5
imprimer(résultat)# -> 0
print(soma(3,7))# -> 10
defexemple(valeur):
numero = valeur * 2
si numéro > 10 :
returnnumero
valor = valor + 5
retourner valeur
47
Modularisation du code avec des fonctions
Il est important que vous compreniez que ce code n'est pas nécessairement incorrect, mais
on crée une complexité qui n'a pas besoin d'exister, nous allons maintenir la fonctionnalité et
réécris-le pour n'avoir qu'une instruction de retour, vois :
defexemple(valeur):
Aucun
numero = valor * 2
si numero >10 :
nombre
sinon :
valeur +5
retourner le résultat
En Python, nous pouvons raccourcir cette fonction un peu plus en utilisant la déviation conditionnelle.
ternaire
defexemple(valeur):
numero = valeur *2
retournernumeroifnumero >10 else valeur +5
Avec cela, nous avons couvert tous les concepts impliqués dans la création d'une fonction!
Allons pratiquer
Faites un programme qui écrit "Ma première fonction", cette écriture doit être
réalisée à partir de l'appel d'une fonction.
2. Faites un programme qui demande le nom de l'utilisateur et l'âge de l'utilisateur, après cela
{nome} a {idade} ans.
une fonction.
3. Faites un programme qui demande deux nombres à l'utilisateur et affiche leur multiplication.
La multiplication doit être calculée dans une fonction.
4. Faites un programme qui demande à l'utilisateur trois nombres différents et affiche le double de
plus grand nombre. Pour ce faire, séparez votre code en deux fonctions différentes : Une
fonction pour retourner le plus grand des trois nombres et une autre fonction pour doubler le nombre.
48
Modularisation du code avec des fonctions
5. Créez un programme qui initialise une liste vide, puis demande 5 noms.
différents pour l'utilisateur (utilisez une boucle de répétition). Chaque nom saisi doit être
ajouté à la liste et enfin, tous les noms doivent être écrits dans la console. Utilisez une
fonction pour demander et retourner le nom saisi, une fonction pour ajouter le nom à
liste (passant le nom et la liste en paramètre) et une autre fonction pour écrire tous les
noms dans la console.
Attention
Il est fortement recommandé que vous essayiez de faire les exercices avant de voir les
réponses. Vous pouvez trouver les réponsesici.
49
Expressions Lambda
Pour comprendre ce post, il est essentiel que vous ayez auparavant compris le sujet du
fonctionnalités.
Toutes les caractéristiques d'une fonction lambda sont très similaires à celles des fonctions
comuns que déjà vus, à l'exception de deux choses : elles n'ont pas de définition en
code, c'est-à-dire, sont déclarées comme des variables et ne possèdent pas un défpropre ; et elles sont
fonctions de une ligne, qui fonctionnent comme s'il y avait l'instructionretouravant de
commande.
defsoma(numero1, numero2):
retourner numero1 + numero2
La fonction ci-dessus est une fonction de somme normale, étant une fonction d'une ligne nous pouvons
transformez-la en une fonction lambda, ou en une expression lambda. Pour cela, utilisez le
comandolambdaconforme code :
Notez que la syntaxe est légèrement différente, nous utilisons le mot réservélambdapour
déclarer le début de l'expression, après cela, nous insérons les paramètres séparés par
virgule. Enfin, nous plaçons le corps de l'expression.
En rappelant que le corps de l'expression doit toujours contenir une seule ligne de commande et
elle fonctionne comme s'il y avait une instruction deretourneravant cette ligne.
Ainsi, les deux fonctions de somme sont des définitions différentes pour la même fonction :
imprimer(soma(1,2)) 3
imprimer(soma_lambda(1,2)) # -> 3
Nous pouvons également avoir une fonction lambda sans paramètres, le cas échéant, il suffit de
nous omettrons normalement la déclaration de paramètres :
lambda: 3 + 2
50
Expressions Lambda
En pratique, cette fonction n'a pas tellement de sens, mais c'est un bon exemple pour comprendre le
que se passe-t-il. Dans ce cas, nous avons créé une fonction appelée obtenir_valeurque
elle retourne toujours le numéro cinq. La définition standard de cette fonction serait la suivante
manière
defobter_valeur()
retourne3+2
Percevez que l'un des points forts des expressions lambda est leur synthèse, elles sont une forme
rapide à définir des fonctions simples.
Voyez que nous utilisons une fonction lambda qui n'a ni retour ni paramètres !
Mais tout fonctionnera correctement.
Peut-être que cela vous semblera un peu étrange, après tout, j'avais écrit auparavant que les expressions lambda
nous fonctionnons comme s'il y avait unretourneravant l'instruction et la fonctionimprimerne génère pas
En pratique, vous pouvez obtenir la valeur de retour de la fonctionimprimer, mais ce sera une valeur de
typeAucun! Donc, la même syntaxe de lambda continue de fonctionner normalement.
Utilisation
D'accord, je comprends le concept, mais à quoi cela sert-il ? Maintenant, vient la partie la plus compliquée.
dans cette leçon, il existe des fonctions qui peuvent recevoir d'autres fonctions en paramètre !
Oui, vous n'avez pas mal lu, une fonction reçoit comme paramètre une autre fonction. Ce sont les
exemples où les expressions lambda sont les plus utilisées.
Faisons un exercice en utilisant les concepts que nous savons déjà et ensuite le refaire.
en utilisant des expressions lambda !
Déclarons une liste avec divers nombres différents, puis nous en ferons une copie.
seu que les nombres pairs pour une deuxième liste et nous les afficherons dans la console. Tranquille,
d'accord ?
51
Expressions Lambda
numeros = [0,2,3,4,5,7]
pares = []
fornumeroinnumeros
si numero % 2 == 0 :
[Link](numero)
Nous utilisons une boucle de répétition pour filtrer la liste qui contient tous les
nombres pour une nouvelle liste contenant uniquement les nombres pairs.
Dans cette boucle de répétition, nous obtenons les nombres un par un, vérifions s'ils sont pairs ou non et
si c'est le cas, nous l'ajoutons à la liste des paires.
Ce comportement de filtrage d'une liste est assez courant, c'est pourquoi la langue
offre une fonctionnalité pour simplifier cette mise en œuvre. Cette fonctionnalité est la fonctionfiltre!
Cette fonction prend deux paramètres : l'un d'eux est la liste qui va être filtrée, bien sûr, et l'autre
le paramètre est la fonction qui réalise le filtre de la liste !
Cette fonction de filtre ne doit posséder qu'un seul paramètre (du même type que chaque élément)
da liste) et doit retourner unbooléen.
De cette manière, toutes les listes, quel que soit leur type, peuvent utiliser la même [Link].
Dans notre cas, nous avons une liste de nombres, donc notre fonction doit recevoir un
numéro et retourner une valeur logique, en pratique, c'est la même comparaison que nous avons déjà faite dans
implémentation précédente :numéro % 2 == 0, voyez comment nous faisons la même chose en utilisant le
filtrer
numeros = [0,2,3,4,5,7]
pairs = filter(lambda valeur: valeur % 2 == 0, numeros)
pourparlers
imprimer(par)
Nous transformons toute notre boucle de répétition avec un déviation conditionnelle en une seule.
instruction ! C'est cool, non ?
Ofiltrece n'est pas la seule fonction capable d'effectuer ce type d'opération, mais c'est un bon
exemple pour vous faire comprendre le pouvoir des expressions lambda !
Allons Pratiquer
52
Expressions Lambda
1. Faites un programme qui écrit "Ma première fonction", cette écriture doit être
réalisée à partir de l'appel d'une fonction qui a été déclarée comme une expression
lambda.
2. Faire un programme qui demande le nom de l'utilisateur et l'âge de l'utilisateur, après cela
{nome} a {idade} ans.
une fonction lambda.
3. Faites un programme qui demande deux nombres à l'utilisateur et affiche leur multiplication.
La multiplication doit être calculée dans une fonction lambda.
4. Faites un programme qui demande cinq nombres à l'utilisateur, puis affiche seulement
les nombres supérieurs à 10. Utilisez la fonctionfiltrepour faire cela.
Faites un programme qui demande dix numéros à l'utilisateur, puis affiche tous
nombres pairs et seulement alors affichez tous les nombres impairs. Utilisez la fonctionfiltrer
Attention
Il est fortement recommandé d'essayer de faire les exercices avant de voir les
réponses. Vous pouvez trouver les réponsesici.
53
Conclusion
Conclusion
L'objectif de ce livre est d'être un tremplin pour le monde de la programmation, il existe
beaucoup de sujets qui n'ont pas été abordés ici, tels que : la programmation orientée objet, la programmation
Les possibilités sont immenses et tout est plus proche de vous maintenant.
Ne considérez pas ce livre comme la seule source d'étude de quelque manière que ce soit, il existe plusieurs
J'espère que cela a été une bonne source d'étude et n'hésitez pas à m'envoyer quoi que ce soit.
type de feedback!
54
Résolution des exercices
numéro
nombre >=10 et nombre <=99
imprimer(dois_digitos)
55
Résolution des exercices
si media >=7 :
Approuvé
sinon :
Reprové
si l'âge == 18 :
L'utilisateur aura 18 ans cette année.
3. Faites un programme qui demande à l'utilisateur son âge, puis affiche la classification
tranche d'âge selon les tranches de valeurs :
Enfant de 0 à 11 ans;
Adolescent de 12 à 18 ans;
Jeune de 19 à 24 ans;
Adulte de 25 à 40 ans;
Middle Age de 41 à 60 ans;
Personne âgée de plus de 60 ans.
56
Desvios conditionnels, faisant prendre des décisions à votre programme
test
si texto !="":
print("Le texte n'est pas vide")
iftexto
print("Le texte n'est pas vide")
Une autre chose que nous pouvons explorer normalement est la question des multiples conditions.
Nous pouvons utiliser les opérateurspas, eteoupour créer une condition de la même
forme que nous utilisons pour l'attribution d'une valeur logique.
nota1 =7
nota2 =10
deu_sol =True
if notdeu_sol:
print("Il a plu")
Cette autre forme est connue sous le nom de condition ternaire. Elle est principalement utilisée pour
des conditions courtes et permet une syntaxe plus agile, généralement sur une seule ligne.
L'ordre des choses change un peu, mais cela ressemble encore beaucoup à un langage naturel.
Regardez cette phrase :
nota =6
si nota >=7 :
Approuvé
sinon :
Reprovado
Maintenant, voyons comment cette même opération se présente en utilisant une condition ternaire.
nota =6
imprimer("Aprové" si nota >= 7 sinon "Rejeté" z)
18
Résolution des exercices
3. Faites un programme qui demande l'âge de l'utilisateur, vérifie si le texte saisi est uniquement
contient des chiffres. Si cela contient uniquement des chiffres, affichez le message : "Vous avez {âge
[Link]():
Vous avez {idade} ans.
sinon :
Vous avez saisi un âge invalide
4. Faites un programme qui demande le nom complet de l'utilisateur et n'affiche que son prénom.
deuxième nom/premier surnom.
familia = ["Gabriel","Anderson","Luluzinha","Mariazinha","Joãozinho"]
imprimer(famille)
2. Faites un programme qui initialise une liste vide et demande à l'utilisateur 3 noms de
villes, une à la fois, chaque fois que l'utilisateur saisit un nom, le programme doit inclure cela
nom dans la liste des villes.
cidades = []
3. Faites un programme qui initialise une liste avec plusieurs nombres différents, après cela,
Demandez à l'utilisateur un numéro, vérifiez si le numéro est ou non dans la liste et affichez un
message notifiant l'utilisateur du résultat.
58
Résolution des exercices
numeros = [1,3,6,10,5,23]
Entrez un numéro :
si numero_digitado dans numeros :
print(f"Le nombre {numero_digitado} est dans la liste")
sinon :
print(f"Le numéro {numero_digitado} n'est pas dans la liste")
4. Faites un programme qui initialise une liste vide et la remplit avec 5 noms différents
saisis par l'utilisateur, après cela demandez un numéro de 0 à 4 et supprimez l'élément
de cette position.
nomes = []
[Link](input("Entrez le premier nom : "))
[Link](input("Entrez le deuxième nom : "))
[Link](input("Entrez le troisième nom : "))
[Link](input("Entrez le quatrième nom : "))
[Link](input("Entrez le cinquième nom : "))
itens_compra = ["Arroz","Leite","Ovos","Feijão","Tomate"]
foriteminitens_compra
imprimer(item)
2. Faites un programme qui initialise et crée une liste avec les valeurs de 1 à 10 et ensuite
n'affiche que les nombres pairs.
si numéro % 2 == 0 :
imprimer(numero)
3. Faites un programme qui affiche tous les nombres impairs entre 50 et 100 en utilisant la plage.
fornumeroinrange(51,101,2):
imprimer(numero)
59
Résolution des exercices
4. Créez un programme qui initialise une liste vide et demande à l'utilisateur 10 nombres
différents, un à la fois. Si le nombre saisi est pair, ajoutez un à sa valeur.
Après cela, affichez les 10 chiffres saisis.
numeros = []
pour nombre dans la plage(10) :
pournuméroennombre
imprimer(numero)
5. Faites un programme qui affiche les tables de multiplication de 1 à 10 au format : "2 x 3 = 6", (utilisez deux
commandespour)
pouroperateur_2dansplage(1,11):
opérateur * opérateur_2
imprimer(f"{operador} X {operador_2} = {resultado}")
itens_compra = ["Arroz","Leite","Ovos","Feijão","Tomate"]
posicao =0
tant que posicao < len(itens_compra):
print(itens_compra[posicao])
posicao+=1
2. Faites un programme qui initialise une liste avec les valeurs de 1 à 10 et ensuite les affiche.
seulement les nombres pairs utilisantpendant.
numeros = [1,2,3,4,5,6,7,8,9,10]
posicao =0
tandisque posicao < len(numeros):
numéro
si numero %2==0 :
imprimer(numero)
position+=1
60
Résolution des exercices
3. Faites un programme qui initialise une liste vide, demande à l'utilisateur 10 nombres impairs
différents, un par un. Si le numéro saisi est pair, demandez à nouveau un numéro, jusqu'à
que la valeur soit un nombre impair. Ensuite, affichez les 10 nombres saisis.
numeros = []
numero =0
quantidade_sobrando =10
tantque quantite_sobrant > 0 :
numero =0
whilenumero %2==0:
nombre = int( input("Entrez un nombre impair :") )
[Link](numero)
quantité_restante -=1
posicao =0
imprimer(numeros[posicao])
positionne +=1
4. Faites un programme qui affiche un menu permettant à l'utilisateur de sélectionner l'une des trois options :
1 - Bonjour le monde
Je programme en Python
3 - Boucles de répétition
Le programme doit demander à l'utilisateur l'une des 3 options, si l'utilisateur saisit une valeur
différent des options (1, 2 ou 3), le programme doit présenter à nouveau le menu de
options jusqu'à ce qu'une d'entre elles soit choisie. Enfin, le programme doit afficher un message
différent pour chaque option.
opcao =0
opcoes = [1,2,3]
tandis que opcaonot dans opcoes :
siopção
print("Bonjour le monde!")
elifopcao ==2:
Je suis déjà dans ma sixième leçon de Python !
sinon :
Dans cette leçon, j'étudie la boucle de répétition While
61
Résolution des exercices
numeros = [1,2,3,4,5,6,7,8,9,10]
posicao =0
tandis que posicao < len(numeros):
position +=1
ifposicao ==3:
continuer
elifposicao == 6:
pause
print(numeros[posicao-1])
numeros = [1,2,3,4,5,6,7,8,9,10]
posicao =0
tandis que position <5 :
si position !=2:
print(numeros[posicao])
position += 1
1. Faites un programme qui crée un dictionnaire pour définir un produit, contenant son
description
produit
Eau
"preço":2.00
}
2. Faites un programme qui initialise une liste de courses avec 5 articles différents, où chaque
item est un dictionnaire contenant la description et le prix du produit. Après cela, parcourez la liste
et affichez les informations de chaque élément.
lista_compras = [
Eau
Lait
Viande
Pizza
Chocolat
]
foritem_comprainlista_compras
print("Produit:", item_compra["description"], "pour", str(item_compra["prix"]), "réal")
est.)
62
Résolution des exercices
Utilisez la liste de courses du programme précédent pour identifier quel est le produit le moins cher
Et quel est le produit le plus cher de la liste de courses.
mais_barato =None
Aucun
indice =0
tandi<indice < len(lista_compras):
liste_achats[indice]
siindice ==0:
article_achat
article_achat
sinon :
ifitem_compra["prix"] > mais_caro["prix"]:
article_achat
indice = indice + 1
pessoas = [
Joãozinho
Mariazinha
Gabriel
Joana
Everton
]
pourpersonnesdansdespersonnes
[Link]("SOBRENOME", None)
print(nom, prénom)
63
Résolution des exercices
defma_fonction():
print("Ma première fonction")
ma_fonction()
décrire_nom_age(nom, age):
print(nome, "a", idade, "ans.")
écrire_nom_age(nom_saisi, age_saisi)
3. Faites un programme qui demande deux nombres à l'utilisateur et affiche leur multiplication. A
la multiplication doit être calculée dans une fonction.
defmultiplier(nombre1, nombre2):
returnnumero1 * numero2
4. Faites un programme qui demande à l'utilisateur trois nombres différents et affiche le double du
plus grand nombre. Pour cela, séparez votre code en deux fonctions différentes : une fonction
pour retourner le plus grand des trois nombres et une autre fonction pour doubler le nombre.
64
Résolution des exercices
defdobrar(numero):
returnnumero *2
maior = obtenir_maior(nombre,nombre2,nombre3)
imprimer(dobrar(maior))
5. Faites un programme qui initialise une liste vide, puis demande 5 noms différents.
au utilisateur (utilisez une boucle de répétition). Chaque nom saisi doit être ajouté à la liste et par
fim, tous les noms doivent être écrits dans la console. Utilisez une fonction pour demander et
retourner le nom saisi, une fonction pour ajouter le nom à la liste (en passant le nom et le
liste par paramètre) et une autre fonction pour écrire tous les noms dans la console.
defsoliciter_nom():
returnstr ( input("Entrez un nom : ") )
décrire_noms(liste):
fornomeinlista
print(nom)
nomes = []
pour compteur dans la plage(0,5):
nom = demander_nom()
ajouter_nom_dans_la_liste(noms, nom)
écrire_noms
65
Résolution des exercices
1. Faites un programme qui écrit "Ma première fonction", cette écriture doit être réalisée
à partir de l'appel d'une fonction qui a été déclarée comme une expression lambda.
2. Faites un programme qui demande le nom de l'utilisateur et l'âge de l'utilisateur, après cela
{nome} a {idade} ans.
une fonction lambda.
3. Faites un programme qui demande deux nombres à l'utilisateur et affiche leur multiplication. A
la multiplication doit être calculée dans une fonction lambda.
4. Faites un programme qui demande cinq nombres à l'utilisateur, puis affiche uniquement les
nombres supérieurs à 10. Utilisez la fonctionfiltrepour faire cela.
numeros = []
pour indice dans la plage (1,5):
5. Faites un programme qui demande dix nombres à l'utilisateur, puis affiche tous
nombres pairs et seulement alors affichez tous les nombres impairs. Utilisez la fonctionfiltrerpour
faire ça.
66
Résolution des exercices
décrire_array(array):
pourvaleurdansletableau
imprimer(valeur)
numeros = []
pour i dans la plage(1,10):
entier = int(input("Entrez un nombre : "))
[Link](numero)
67