Guide d'installation et premiers pas en Python
Guide d'installation et premiers pas en Python
Installation ...................................................................................................................................... 3
Langage Python..................................................................................................................... 3
Premier programme.................................................................................................................... 5
Installation de l'IDE PyCharm ......................................................................................................... 6
Fundamentaux .............................................................................................................................. 11
11
Variables.................................................................................................................................. 11
Commandes d'entrée et de sortie................................................................................................. 12
Opérateurs.............................................................................................................................. 13
Liste des exercices A ................................................................................................................ 15
Structures conditionnelles ........................................................................................................... 18
Liste des exercices B ................................................................................................................ 20
Structures de répétition........................................................................................................... 22
Liste des exercices C ................................................................................................................ 23
Tableaux.......................................................................................................................................... 26
Principales fonctions du tableau ..................................................................................................... 27
Quelques exemples pratiques........................................................................................................ 30
Tableaux multidimensionnels........................................................................................................ 31
Liste des exercices D ................................................................................................................ 34
Fonctions ....................................................................................................................................... 36
Caractéristiques
Exemple 01.............................................................................................................................. 39
Exemple 02.............................................................................................................................. 39
Exemple 03.............................................................................................................................. 40
Exemple 04.............................................................................................................................. 41
Exemple 05.............................................................................................................................. 41
Liste des exercices E................................................................................................................. 42
Structure de Données...................................................................................................................... 44
Dictionnaire de données................................................................................................................. 45
Exemple : Lien entre les métadonnées et les données.................................................................... 49
Liste d'exercices F................................................................................................................. 50
Python et SQLite........................................................................................................................... 52
Manipulation de la base de données.............................................................................................. 53
1
Commande INSERT..................................................................................................................... 53
Commande UPDATE................................................................................................................... 57
Commande DELETE .................................................................................................................... 58
Commande SELECT..................................................................................................................... 59
Commande WHERE.................................................................................................................... 60
Travaillant avec plus d'une table.................................................................................... 61
Liste des exercices G.................................................................................................................. 63
Traitement des exceptions............................................................................................................... 64
Hiérarchie des exceptions........................................................................................................... 65
Action de nettoyage ...................................................................................................................... 67
Commande raise ........................................................................................................................ 67
Liste d'exercices H.................................................................................................................. 68
Fichiers ...................................................................................................................................... 70
Python et Arduino ........................................................................................................................ 71
Référence Bibliographique .............................................................................................................. 72
2
Installation
Dans ce chapitre, nous apprendrons comment installer le langage Python et son IDE sur
Langage Python
Sur le premier écran, cochez l'option Ajouter Python 3.7 au PATH, choisissez l'option
Installation personnalisée.
Ensuite, restez sélectionné sur toutes les options et cliquez sur Suivant.
3
Chaque option cochée a la signification suivante :
Documentation : installe la documentation du langage ;
pip : installez pip qui est utilisé pour télécharger des bibliothèques développées en Python ;
4
Premier programme
commande suivante :
python –V
python
Utilisez la commande print pour afficher quelque chose à l'écran. Testez la ligne de commande suivante :
print("Bonjour le monde")
La commande présentée concerne une fonction. Par définition, toute fonction doit posséder
parenthèses. Dans le cas présenté, la fonction print a reçu un contenu de type texte. A
suivre entre avec les commandes suivantes :
La fonction print permet l'impression de diverses valeurs. Remarquez que chaque valeur
doit être séparé par une virgule. Il est permis de présenter des valeurs d'autres types qui ne le sont pas
soit le texte. Le dernier terme : sep = " ", définit quel caractère sera utilisé comme
séparateur des valeurs présentées.
5
Maintenant, saisissez les commandes suivantes :
IF Goiano
type(institution)
ano = 2019
type(ano)
print(instituicao, "Trindade", ano, sep=" ")
variablesinstitutionocean.
Développer des programmes en utilisant l'Invite de Commande peut être une tâche
extrêmement difficile en fonction de la complexité de l'application. En raison de cela
[Link]/pycharm/download
6
Exécutez le fichier, dans l'écran qui définit le dossier de destination, installez l'application
à l'adresse suivante :
.py
et cliquez sur le bouton Suivant.
7
Après avoir terminé son installation, ouvrez le programme. Choisissez l'option Créer
Nouveau projet.
Une écran sera mis à disposition pour définir le chemin du projet et quelle machine virtuelle
à utiliser par le projet.
8
EmLocationcrie o seguinte caminho :
c:\développement\espace_de_travail\python\cours\premier
Dans l'option Interpréteur de projet, laissez cochée la machine virtuelle recommandée. Cliquez sur le
boutonCréer.
Avec le projet créé, faites un clic droit sur le nom du projet et choisissez l'option
Nouveau Fichier Python. Nommez le fichier comme [Link].
9
Tapez le code suivant :
Pour exécuter, cliquez sur le menu Exécuter Appuyez sur les touches Alt + Shift + F10. Le
le résultat sera affiché dans le coin inférieur de l'écran de l'application.
10
Fondamentaux
Développée par Guido van Rossum, le langage Python est apparu en 1991. Cette
la langue possède les caractéristiques suivantes :
Interprété : n'utilise pas les ressources directement de la machine;
Haut niveau : basé sur d'autres langages ;
Script : prend en charge la création de scripts ;
Commentaires
Un commentaire permet au développeur d'écrire quelque chose dans le programme qui n'est pas
sera interprété par le langage. Ce commentaire peut être sur une seule ligne,
exemple :
Ou de multiples lignes :
´´´
Je suis allé au marché et j'ai tapé
´´´
Variables
En Python, une variable doit avoir seulement un nom et une valeur. Le type de
la variable est définie par la valeur reçue, c'est-à-dire que le langage permet la création de
variables non typées, qui n'ont pas de type prédéfini.
11
Ainsi, une variable peut être un nombre ou un texte. Si c'est un nombre,
cela pourra contenir des valeurs :
e Statistique.
Un nombre peut également être généré à l'aide des fonctions : int(); float();
e complexe(). Exemple :
Les variables qui ont des valeurs de type texte doivent être entourées de guillemets simples.
ou duplés. Exemple :
Pour nommer une variable, il est permis d'utiliser n'importe quel caractère qui n'est pas
symbole clé du langage. Une variable peut avoir n'importe quel nom, à l'exception
les mots réservés du langage.
12
Le développeur pourra imprimer une sortie à l'aide de la commande print. Ce
la commande peut être utilisée de la manière suivante :
print(“Bonjour”, nom)
Opérateurs
Opérateur d'attribution
Opérateurs Aritmétiques
13
Description Symbole
Addition +
Soustraction -
Division /
Multiplication *
Resto %
Opérateurs relationnels
Description Symbole
Plus grand >
Mineur <
Supérieur ou égal >=
Moins ou égal <=
Égalité ==
Différent !=
Opérateurs Logiques
Ils participent à la construction d'une phrase logique. Ils sont également utilisés dans les
Description Symbole
C'est logique et
OU logique ou
NÃO logique pas
et
P Q P et Q
Vrai Vrai Vrai
14
Vrai Faux Faux
Faux Vrai Faux
Faux Faux Faux
ou
P Q P et Q
Vrai Vrai Vrai
Vrai Faux Vrai
Faux Vrai Vrai
Faux Faux Faux
pas
P pas P
Vrai Faux
Faux Vrai
Liste d'exercices A
1) Développez un programme en Python dans lequel l'utilisateur devra saisir le catète adjacent et
côté opposé relatif à un triangle rectangle. Le programme doit calculer l'hypoténuse de celui-ci
triangle et ses raisons trigonométriques respectives (sinus, cosinus et tangente). Imprimez les
valeurs du sinus, du cosinus et de la tangente.
Calcul de l'hypoténuse :
h² = ca² + co²
co ca co
seno cosinus tangente
h h ça
, où :
hypoténuse
ca = catéto adjacent;
co = côté opposé.
15
2) Développez un programme en Python qui génère un nombre aléatoire de quatre chiffres (M
– Milhar, C – Centena, D – Dezena, U - Unidade) variant entre 1000 et 9999. Le programme devra
calculer et imprimer l'expression mathématique suivante :
U randi(M*10)
x
C 2 D
3) Développez un programme en Python dans lequel l'utilisateur saisira le rayon d'un cercle, la base et
la hauteur d'un triangle. Le programme devra calculer l'aire du cercle et du triangle et imprimer
la différence de l'aire du triangle par l'aire du cercle.
4) L'IF Goiano - Campus Trindade souhaite vérifier quel a été le score obtenu par un
candidat déterminé inscrit au processus électoral pour coordinateur de cours. L'équipe de
des développeurs ont décidé d'aider dans cette tâche en créant un programme Python. Dans ce
Il est nécessaire que l'utilisateur saisisse : le nombre de votes valides du segment
enseignant au candidat ; le total des votes valides des enseignants ; le nombre de votes valides de
segment de vote pour le candidat ; et le nombre de votes valides des étudiants. Le programme devra
effectuer le calcul suivant :
2VDo1VDi
Vt , étant :
3Do3Di
16
5) Développez un programme en Python dans lequel l'utilisateur saisira un angle. Le programme
vous devrez calculer et imprimer le sinus, le cosinus et la tangente de cet angle.
6) Développez un programme en Python qui génère un nombre aléatoire variant entre 0 et 100.
Imprimez la valeur générée.
8) Développez un programme en Python dans lequel l'utilisateur saisira une valeur initiale et une valeur
final. Le programme devra générer un nombre aléatoire dans l'intervalle choisi par l'utilisateur.
Imprime le numéro généré.
9) Développez un programme en Python dans lequel l'utilisateur saisira deux nombres (n1 et n2).
le programme devra calculer et imprimer la formule suivante :
résultat n1 n2 3
Conseils :
Calculer la puissance d'un nombre. Exemple :
2 ** 5 = 32
4 ** (1/2) = 2
importer aléatoire
[Link](1, 9)
Générer PI
importer math
[Link]
importer math
17
x = [Link](85) #convertit l'angle de degrés en radians
[Link](x) #sine
[Link](x) #cosinus
z = [Link](x) #tangente
y = [Link](z) #convertit l'angle de radians en degrés.
Structures conditionnelles
Une structure conditionnelle vise à vérifier une phrase relationnelle et à partir de celle-ci
la vérification a lieu lors de la prise de décision. Cette action se produit lorsque la phrase relationnelle
pour vraie (True). Il est également possible d'effectuer des actions selon le résultat de la phrase
La structure IF
si condition :
commandes
où
si correspond au nom de la structure de condition;
condition phrase relationnelle à tester;
commandes tous les commandes à exécuter par
structure.
La structure ELIF
18
comandoB
elif condicaoC:
comandoC
où
si correspond au nom de la structure conditionnelle;
sinon si utilisé pour tester une autre condition en plus de la
principal
conditionA sentences liées à
seront testées;
commandeA tous les ordres à être
exécutés dans les différents blocs.
La structure ELSE
si condition :
commandeA
sinon :
comandoB
où :
si correspond au nom de la structure conditionnelle;
sinon utilisé pour exécuter une commande lorsque la condition
contenue dans le faux if for;
Selon le problème proposé, il est possible d'intégrer toutes les structures conditionnelles.
dans une seule structure, l'ELSE étant toujours la dernière structure allouée.
19
Liste des exercices B
1) Développez un programme en Python dans lequel l'utilisateur saisira une lettre (A à E) relative
un concept de note. Le programme devra convertir la lettre saisie en une note correspondante
avec le tableau ci-dessous :
CONCEPT NOTE
A 95
B 85
C 75
D 65
E 30
Toute lettre saisie différente de ce qui a été proposé dans le tableau ci-dessus sera imprimée comme suit
Concept invalide. Imprime la note convertie.
2) Développez un programme en Python dans lequel l'utilisateur saisira une valeur concernant ax. Le
le programme devra calculer et imprimer la valeur def(x).
1 se x 1
2se1 x 2
f(x)
x²se2 x 3
x³se x 3
3) Développez un programme en Python dans lequel l'utilisateur saisira une valeur numérique variant
entre 1 à 7. Le programme doit convertir ce numéro en jour de la semaine selon le
tableau suivant.
VALEUR SORTIE
1 DIMANCHE
2 LUNDI
3 MARDI
4 MERCREDI
5 JEUDI
6 VENDREDI
7 SAMEDI
Développez un programme en Python qui lit un poids sur Terre et le numéro d'une planète et
imprimez la valeur de votre poids sur cette planète. La liste des planètes est donnée ci-dessous avec
avec la valeur des gravités relative à la Terre :
20
# GRAVITÉ RELATIVE PLANÈTE
1 0,37 MERCURE
2 0,88 VÉNUS
3 0,38 MARS
4 2,64 JUPITER
5 1,15 SATURNE
6 1,17 Uranus
peso
m: masse;
g: gravité.
6) Une entreprise accordera une augmentation de salaire à ses employés, variable selon
avec le poste, comme indiqué dans le tableau ci-dessous. Écrivez un programme en Python qui lit le salaire et le
cargo d'un employé et calculez le nouveau salaire. Si le poste de l'employé n'est pas dans le tableau,
il devra donc recevoir une augmentation de 40%. Montrez l'ancien salaire, le nouveau salaire et la différence.
salarial.
21
Condition Situation
Fréquence jusqu'à 75% REPROUVÉ
Fréquence entre 75% et 100% et Note jusqu'à 3.0 REPROUVÉ
Fréquence entre 75 % et 100 % et Note de 3.0 à 7.0 EXAMEN
Fréquence entre 75 % et 100 % et Note entre 7,0 et 10,0 APPRouvé
Structures de répétition
La structure WHILE
O WHILE exécute un bloc de commandes N fois jusqu'à ce que sa condition soit satisfaite.
Cette structure a la syntaxe suivante :
commandes
où :
tandis que mot-clé qui définit la structure;
condition phrase relationnelle qui définit la quantité de
fois que les commandes seront répétées;
commandes ensemble d'instructions à exécuter.
Exemple :
lifeRock = 5000;
iron = 0;
batida = 200;
tant que lifeRock >= 0:
fer += 5
lifeRock -= batida
print('A pris {0} fer'.format(fer))
La structure FOR
22
pour variable dans liste :
commandes
où
pour mot-clé de la structure;
variable variable qui recevra chaque élément de la liste;
liste liste des éléments
commandes ensemble d'instructions.
Exemple :
Liste d'exercices C
01) Développez un programme en Python dans lequel l'utilisateur saisira deux valeurs entières (AeB).
Le programme devra générer 100 nombres aléatoires. Chaque valeur générée devra être comprise dans le
intervalle saisi par l'utilisateur (AeB). Imprimez la plus grande valeur générée par le programme.
02) Développez un programme en Python dans lequel l'utilisateur saisira le nom et les notes de 35
élèves. Chaque élève a cinq notes. Le programme devra imprimer la moyenne arithmétique de chaque
aluno est le nom de l'élève qui a la meilleure moyenne.
03) Développez un programme en Python dans lequel l'utilisateur saisira les données suivantes d'un
la valeur calorique saisie est égale à zéro. Imprimez la valeur calorique totale de chaque catégorie.
04) Développez un programme en Python dans lequel l'utilisateur saisira les données suivantes d'un
23
Quelle catégorie a la plus grande valeur calorique ;
d
Vm , étant donné que :
t
Vm vitesse moyenne
d distance
t tempo.
06) Développez un programme en Python qui simule le lancer d'un dé à six côtés 2500
fois. Le programme devra calculer et imprimer les pourcentages de nombres : uns ; deux ; trois ;
quatres; cincos et six qui ont été tirés pendant les 2500 tirages.
kWh Drapeau
Jusqu'à 172 kWh Vert
Entre 173 et 280 kWh Amarela
Mais que 281 kWh Rouge
08) Un naufragé se trouve coincé sur une île. Il possède une quantité X de nourriture et Y de
boisson. On sait que par jour, il consomme 5% de la nourriture totale et 3% de la boisson totale. Développez
un programme en Python dans lequel l'utilisateur indiquera le nombre de nourriture (X) et de boisson (Y) que le
24
09)Un cadenas possède 10 serrures. On souhaite créer un
programme qui vérifie combien de tentatives une personne aura
jusqu'à ce que le cadenas s'ouvre. Développez un programme en Python
25
Tableaux
Um tableau correspond à une structure de données de type liste dont l'objectif est
stockage d'une collection de données. Le tableau peut stocker n'importe quel type de valeur :
caractères; entiers; réels. Elle peut également stocker même un autre tableau.
Pour définir une liste, déclarez une variable et faites-lui recevoir des crochets.
Exemple :
x = []
x = [5, 6, 7, 2, 4]
5 6 7 2 4
↑ ↑ ↑ ↑ ↑
0 1 2 3 4
Pour accéder à un élément de la liste, utilisez le nom de la variable et entrez entre crochets l'indice
souhaité.
x[3]
La valeur 2 sera obtenue
Pour remplacer une valeur, faites en sorte que la variable à l'indice souhaité reçoive la nouvelle
valeur.
x[2] = 35
26
5 6 35 2 4
↑ ↑ ↑ ↑ ↑
0 1 2 3 4
S'il est nécessaire de découvrir combien d'éléments existent dans la liste, utilisez la fonction
len().
len(x)
En plus des ressources présentées, la liste (tableau) contient un ensemble de fonctions qui
permet au développeur de manipuler ses éléments. Dans ce sujet, seront présentés les
principales fonctions d'un tableau.
[Link](69)
5 6 35 2 4 69
↑ ↑ ↑ ↑ ↑ ↑
0 1 2 3 4 5
[Link](2, 24)
27
5 6 24 35 2 4 69
↑ ↑ ↑ ↑ ↑ ↑ ↑
0 1 2 3 4 5 6
[Link](4)
5 6 24 35 2 69
↑ ↑ ↑ ↑ ↑ ↑
0 1 2 3 4 5
[Link](1)
La valeur 6 sera retournée. Elle sera supprimée de la liste.
5 24 35 2 69
↑ ↑ ↑ ↑ ↑
0 1 2 3 4
[Link](35)
La valeur retournée sera 2
[Link](69)
La valeur retournée sera 1
28
[Link]() Inverse les valeurs de la liste. Exemple :
[Link]()
69 2 35 24 5
↑ ↑ ↑ ↑ ↑
0 1 2 3 4
[Link]()
2 5 24 35 69
↑ ↑ ↑ ↑ ↑
0 1 2 3 4
[Link](reverse=True)
69 35 24 5 2
↑ ↑ ↑ ↑ ↑
0 1 2 3 4
[Link]()
[Link]
29
Quelques exemples pratiques
Exemple 01) Faites un programme en Python qui charge une liste de 15 éléments
avec des valeurs aléatoires variant entre 100 et 1000. Le programme devra calculer et
montrer
importer aléatoire
x = []
i=0
tant que i <= 14 :
[Link]([Link](100, 1000))
i += 1
[Link]()
imprimer(x)
imprimer(x[0])
imprimer(x[14])
corredor = []
i=0
tant que i <= 2 :
inscription = input('Entrez l'inscription : ')
entrez le temps de la course :
[inscription, temps]
[Link](données)
i += 1
[Link](key = lambda corredor:corredor[1])
count = 1
pour i dans corredor :
30
imprimer(count, 'º lieu: ', i[0], ' -> Temps: ', i[1], sep='')
compter += 1
Exemple 03) Développez un programme en Python dans lequel l'utilisateur saisira une
mot. Imprimez le mot original et inversé. Comparez si le mot inversé est égal à
original.
Entrez un mot :
x = liste(mot)
[Link]()
''.join(x)
print('Mot: ', mot)
print('Mot inversé : ', motInverse)
si palavra == palavraInvertida :
print('MOTS IDENTIQUES')
sinon :
print('MOTS DISTINCTS')
Tableaux multidimensionnels
Les tableaux multidimensionnels, également connus sous le nom de matrices, correspondent à une liste qui
reçoit une collection de données. Cette collection de données est représentée par un autre tableau.
Exemple :
Ligne
0 1 4
1 3 6
2 2 4
↑ ↑
0 1
Colonne
Pour accéder à une donnée de cette structure, utilisez deux crochets en ajoutant l'adresse de
ligne et colonne.
31
x[1][0]
'''
La valeur renvoyée sera 3 qui est présente à la ligne 1 et à la colonne 0
'''
Considérez que dans l'image affichée, la listatabeladeverá posséder quatre colonnes par
donné. Chaque colonne a une définition et un type de donnée :
identifiant vous recevrez un entier correspondant au code d'un utilisateur;
utilisateur vous recevrez un texte correspondant au nom du compte d'un utilisateur;
Mot de passe vous recevrez un texte correspondant au mot de passe du compte utilisateur ;
[
denecley@[Link]
pepy@[Link]
[Link]@[Link]
primopato@[Link]
[Link]@[Link]
]
32
Ligne
0 69 denecley@[Link] ****** Vrai
1 124 pepy@[Link] pepylegal Vrai
2 548 [Link]@[Link] 123321 Faux
3 96 primopato@[Link] primim2018 Vrai
4 56 [Link]@[Link] élèves2019 Faux
↑ ↑ ↑ ↑
0 1 2 3
Colonne
si pas ligne[3]:
imprimer(ligne)
ou
Le commando listconvertit une série de données en une liste, un tableau. Le commando filter retire
toutes les données d'une liste à partir d'un critère de filtre. Pour utiliser le filtre, utilisez le
syntaxe :
où
lambda mot-clé utilisé pour créer une variable de
filtre
valeur nom de la variable de filtre. Cette variable recevra
chaque valeur de la liste;
33
Alors, comment pouvons-nous capturer tous les comptes dogmail ?
1) Créez un programme en Python qui lit une liste de 40 positions. Comptez et écrivez combien
valeurs paires il possède.
2) Créez un programme en Python qui lit deux listes de 20 positions et calcule une autre liste
contenu, aux positions paires les valeurs du premier et aux positions impaires les valeurs du
deuxième.
3) Faites un programme en Python qui détermine combien de nombres supérieurs à 100 il y a dans un
liste d'entiers avec 20 éléments. Remplissez la liste avec des nombres aléatoires variant entre 1 et
200.
4) Crée un programme en Python qui lit le score de 10 épreuves d'un concours et les noms
des participants respectifs. Enregistrez les données dans une liste. Présentez un classement des
placés qui ont obtenu plus de 70 points.
5) Créez un programme en Python qui lit quinze nombres de l'utilisateur et les stocke dans une liste.
racine carrée de chaque nombre. Si la valeur saisie est inférieure à zéro, le nombre -1 doit être
attribué à l'élément de la liste. Après cela, le programme doit imprimer toutes les valeurs
stockés.
7) Écrire un programme en Python qui contient une liste G(13) qui est le gabarit d'un test
de loterie sportive, contenant les valeurs : A, B ou C pour chaque position de G. Lire, ensuite, le
numéro de la carte d'un parieur et une autre liste réponse R (13). Vérifier le nombre de succès
et écrire le numéro du parieur et son nombre de gains. S'il y a 13 gains, ajouter le
GAGNANT, FÉLICITATIONS
8) Faites un programme en Python qui :
34
une liste résultat de la valeur de l'opération réalisée. Par exemple, supposons que A[1] = 10, B[1] = 3
Si C[1] = '*', alors D[1] = 30.
10) Faites un programme en Python qui lit une liste de 3 éléments et une liste
multidimensionnel de 3 x 3 éléments. Ensuite, le programme doit effectuer la multiplication de la liste
simples par les colonnes de la liste multidimensionnelle. Affichez la nouvelle liste.
11) Créez un programme en Python dans lequel l'utilisateur saisira une matrice de dimensions M × N.
Pour la matrice saisie, imprimez à l'écran les nombres pairs contenus dans la matrice, en tenant compte de
les séparer par ligne. Voir l'exemple pour une matrice 4×4 :
Entrée :
1 2 3 4
5 6 7 8
10 11 23 21
1 2 3 1
Sortie :
2 4 6 8 10 2
12) Créez un programme en Python qui lit une matrice carrée 10x10 de nombres entiers.
Vérifier combien de nombres de la diagonale principale sont impairs, écrire aussi, la somme et la
média de ces éléments.
13) Implémentez un programme, utilisant le langage Python, qui lit 30 noms et prénoms.
des personnes. Pour chaque nom et prénom lu, vérifiez si les mots ont la même taille.
14) Faire un programme en Python qui lit à la fin de la matinée la clôture de la caisse d'un
loja, c'est-à-dire, votre rendement à la fin de la matinée. Il en sera de même à la fin de l'après-midi.
Ce relevé doit être effectué tous les jours de la semaine (du lundi au vendredi). À
À la fin de la semaine, après avoir effectué toutes les lectures, découvrir et écrire le jour et le quart qui a eu le plus.
35
Fonctions
Dans ce chapitre, nous apprendrons ce qu'est une fonction et quel est son but. Considérez la
suivant la situation :
i = 0
tant que i < 3 :
print('Choisissez trois nombres')
n1 = int(input('Numéro 1 : '))
j = 1
1
tant que j <= n1 :
graisse *= j
j += 1
print('Factoriel : {0}'.format(fat))
n2 = int(input('Numéro 2 : '))
j = 1
1
tant que j <= n2 :
graisse *= j
j += 1
imprimer('Factoriel : {0}'.format(fat))
Nombre 3 :
j = 1
1
tant que j <= n3 :
graisse *= j
j += 1
print('Factoriel : {0}'.format(fat))
i += 1
Dans cet exemple, le développeur demande à l'utilisateur de saisir trois nombres trois fois.
Pour chaque nombre, son factoriel est calculé (exemple : 4! = 4 x 3 x 2 x 1) et imprimé sur la
tela. Remarquez que ce code contient une répétition des instructions suivantes :
36
j = 1
1
tandis que j <= n1 :
graisse *= j
j += 1
print('Factoriel : {0}'.format(fat))
Pour éviter des situations comme celles-ci, les langages de programmation offrent une ressource
dénommé fonction.
La fonction correspond à un bloc de code qui pourra être invoqué autant de fois
forem nécessaires. Elle définit un problème. L'utilisation de fonctions a pour objectif :
def factoriel(n):
j = 1
1
tandis que j <= n :
gras *= j
j += 1
print('Factorielle : {0}'.format(fat))
i = 0
tant que i < 3 :
print('Choisissez trois nombres')
n1 = int(input('Numéro 1 : '))
factorielle(n1)
n2 = int(input('Nombre 2 : '))
fatorial(n2)
37
n3 = int(input('Numéro 3 : '))
fatorial(n3)
i += 1
Dans le premier scénario, le code écrit comportait 25 lignes, avec l'application de la fonction, il y avait
j = 1
fat = 1
tant que j <= n1 :
graisse *= j
j += 1
print('Factoriel : {0}'.format(fat))
a été écrit une seule fois, à l'intérieur de la fonctionfactorielle. Dans le code principal, la fonction a été
factorielle(n1)
fatorial(n2)
fatorial(n3)
Caractéristiques
On peut renvoyer ou non un résultat. Lorsque l'on souhaite renvoyer une valeur, c'est
nécessaire d'utiliser la commande retour.
def nomDeLaFonction(parametres):
commandes
retourner valeur
où
38
définir commande utilisée pour définir une fonction;
nomeFonction le nom de la fonction. Évitez les caractères spéciaux et
espace
paramètres définir une entrée de valeurs externes. Si la
si la fonction n'existe pas, il suffit d'ouvrir et de fermer les parenthèses. S'il y en a
Il est important de souligner qu'un code peut avoir autant de fonctions que nécessaire.
nécessaires.
Exemple 01
*
**
***
****
*****
L'utilisateur devra choisir combien de lignes il souhaite imprimer dans le format présenté.
Résolution :
def impression(lignes):
pour i dans la plage(1, lignes + 1) :
imprimer('*' * i)
Exemple 02
39
Développez une fonction en Python qui reçoit une liste contenant le nom et
nom de famille. Cette fonction doit renvoyer une autre liste contenant le nom complet des
personnes qui commencent par 'A'.
Résolution :
def filtre(liste):
f = list(filter(lambda item : item[0][:1] == 'A', lista))
r = []
pour i dans f :
Exemple 03
Développez une fonction en Python qui reçoit une liste de commandes. Chaque élément
possède l'une des valeurs suivantes :
Résolution :
def commande(liste):
itens = ['CREME', 'CHOCOLATE', 'FLOCOS', 'NAPOLITANO']
maior = 0
sabor
pour élément dans les éléments :
40
Exemple 04
Développez une fonction en Python qui renvoie les éléments de la diagonale principale d'une
matrice d'ordre N.
Résolution :
def dPrincipal(matrice):
index = 0
diagonal = []
pour ligne dans matrice :
[Link](ligne[index])
index += 1
diagonale de retour
Exemple 05
Résolution :
def cartelas(quantidade):
saida = []
pour i dans la plage(1, quantité + 1) :
jogo = []
count = 0
tant que vrai :
pause
[Link]()
41
[Link](jogo)
retourner sortie
Liste d'exercices E
1) Développez une fonction en Python qui reçoit un nombre entier. La fonction doit renvoyer
un booléen indiquant : vrai si le nombre est premier ; et faux si le nombre n'est pas premier. Utilisez le
suivant signature.
defisPrimo(numero)
2) Développez une fonction en Python qui reçoit une matrice de texte et un attribut supplémentaire.
aussi de type texte. La fonction devra retourner une liste contenant tous les textes qui
contient la valeur d'entrée. Voici la signature de la méthode :
defchercher(valeurs, entrée)
Exemple :
valores
rivière
Retour
3) Développez une fonction en Python qui reçoit quatre entiers : le premier indique la quantité
de lignes ; le deuxième indique le nombre de colonnes ; le troisième l'intervalle initial ; et le quatrième le
intervalle final. La fonction doit retourner une matrice selon la taille spécifiée et
remplie avec des valeurs aléatoires selon l'intervalle stipulé. Voici la signature de
fonction
42
Exemple :
Entrée
Sortie :
45 32 56
31 50 41
43
Structure de Données
Dans ce chapitre, nous apprendrons comment construire un modèle conceptuel à partir d'un
structure de données. Nous verrons également la signification du dictionnaire de données et comment
Dans le modèle présenté, les données sont réparties dans les tableaux suivants :
Cours
Cours La table Cours est responsable de garder le nom de tout cours.
relatif à toute institution d'enseignement;
Serveur La table Serveur est responsable de conserver les informations des
serveurs qui agissent en tant que professeurs. Chaque serveur a un nom, un e-
mail et son domaine d'activité;
Discipline La table Discipline est responsable de conserver les informations de
toutes les matières proposées dans un cours. Chaque matière a le cours au
quelle est offerte, son nom, la période d'offre, la charge horaire totale, la charge
horaires en présentiel et sa charge horaire à distance;
44
Matrice La table Matrice est responsible de relier chaque discipline à son
devoir professeur.
Nous créerons une structure de données qui permettra au développeur d'accéder au modèle
relational présenté. Les fichiers contenant le modèle et les données sont séparés
en deux catégories : données pour des fichiers csv qui stockent les données ; et méta-données
pour les fichiers txt qui stockent la logique structurelle de la façon dont les données sont
organisés.
Id grand entier.
NomDuCours varchar.
Institution varchar.
Chaque donnée est séparée par un point-virgule (;), ce qui correspond à une colonne de
tableau construit.
Pour commencer le travail, la première étape consiste à trouver les structures de données de chaque
table et créer un dictionnaire. Le dictionnaire à créer sera basé sur les fichiers
qui définissent la structure et qui sont stockés dans le dossier des métadonnées.
Dictionnaire de données
Également connu sous le nom de carte ou tableau associatif, le dictionnaire de données a pour
fonction recevoir une structure de données abstraite et la relier aux différentes entrées de
données.
45
dicionario = {
'Curso': []
}
Où :
dictionnaire nom du dictionnaire de données;
cours nom de la structure de la table à rechercher.
ou
dictionnaire = dict()
dicionario['Curso'] = []
Connaissant le mode de construction, nous devrons maintenant créer un dictionnaire qui reçoit
toutes les informations des fichiers contenus dans le chemin meta-données. Le dictionnaire
{
'Curso': [
bigint
varchar
Institut
]
}
Pour construire le dictionnaire de manière dynamique, nous devrons charger tous les fichiers
contenus dans le dossier meta-data. Pour capturer le nom des fichiers contenus dans un
pâtes, utilisez le code source suivant :
importer os
46
pour fichier dans [Link]('data/meta-data'):
imprimer(fichier)
[Link]
[Link]
[Link]
[Link]
Bien que nous ayons les noms des fichiers contenus dans les méta-donnees, remarquez que ceux-ci
possèdent le nom avec son extension. Nous devons retirer l'extension .txt. Pouvons-nous retirer
à travers la fonction suivante :
def retirerExtension(fichier):
return [Link]('.')[0]
Ayant le chemin et le nom des fichiers, nous devons maintenant créer une fonction qui permet
charger tout le contenu. Nous créerons alors la fonction suivante :
def lerMetaData(arquivo) :
dados = open('data/meta-data/' + arquivo, 'rt')
metaData = []
pour ligne dans données :
i = [Link]('\t')
[Link]((i[0], i[1].split('.')[0]))
[Link]()
renvoyer les métadonnées
47
'w' ouvre pour l'écriture;
'x' ouvre pour création. S'il existe déjà un fichier avec le même nom, il y aura un
erreur
'a' ouvre pour l'écriture, ajoutant le contenu à la fin du fichier s'il existe;
'b' mode binaire;
't modo texte (standard);
'+' ouvre le fichier de disque en mode mise à jour (lecture et écriture);
La variable data reçoit tout le contenu du fichier dans la fonction open. En le fermant, c'est
il est nécessaire d'utiliser la fonction close().
importer os
def retirerExtension(fichier):
return [Link]('.')[0]
def lerMetaData(arquivo):
dados = open('data/meta-data/' + arquivo, 'rt')
metaData = []
pour ligne dans données :
i = [Link]('\t')
[Link]((i[0], i[1].split('.')[0]))
[Link]()
retourner les métadonnées
dicionario = {}
pour fichier dans [Link]('data/meta-data') :
retirerExtension(fichier)
dictionnaire[tabeau] = lireMetaData(fichier)
48
Les informations contenues dans cette entité sont définies par le nom de tuple. Un tuple est
créée avec des parenthèses et contrairement à la liste (crochets), le tuple est immuable, cela
cela signifie qu'une fois que le contenu est défini, il ne sera plus possible de le modifier.
Cours
Atributos: [
identifiant
varchar
varchar
]
Dans le cas de Cours, nous avons trois tuples. Dans notre exemple, une tuple est constituée de deux
nom du champ
Dans cet exemple, nous relierons les méta-données du cours à ses données.
i = [Link]('\t')
[Link]((i[0], i[1].split('.')[0]))
[Link]()
retourner les métadonnées
[Link]([Link](';')[l])
retour ligne
49
# Crée le dictionnaire et extrait les informations
dans un tuple
dicionario = {}
dictionnaire['Cours'] = lireMetaData('[Link]')
tupla = []
pour t dans dicionario['Curso'] :
[Link](t[0])
lireDonnées(tupla, i)
Crée un dictionnaire pour chaque ligne de données
x = {}
pour clé, valeur dans zip(tupla, ligne) :
x[key] = valeur
[Link](x)
[Link]()
Développez un code Python qui crée les tuples de l'entité Serveur. Reliez chaque tuple
avec vos données.
2) Développez un code Python qui crée des tuples pour l'entité Discipline. Reliez chaque tuple.
avec vos données.
3) Sur la base de l'exercice 2, élaborez un code Python qui visualise uniquement les disciplines du
1er et 3e période.
50
Dans cet exercice, il sera nécessaire de relier les entités Cours et Discipline.
51
Python et SQLite
Dans ce chapitre, nous apprendrons comment connecter le langage Python à une base de données.
SQLite. Nous verrons comment réaliser les principales routines de manipulation dans la base de données.
données
Placez ce fichier dans le même dossier que [Link]. Tapez le code suivant :
01 importer sqlite3
02 conn = [Link]('[Link]')
03 curseur = [Link]()
04 [Link]('SELECT * FROM produit')
05 print([Link]())
06 [Link]()
données
Ligne 02 : La commande connect établit la connexion à la base de données sélectionnée.
Cette fonction ne reçoit que le nom de la base de données, si le fichier est à côté.
[Link]. Si la base de données est dans un autre dossier, il sera nécessaire de passer tout
chemin. Exemplo:c:\dossier\sous-dossier\[Link];
Lignes 03 à 05 : Nous verrons la signification de ces commandes dans les prochains sujets ;
52
Manipulant la base de données
Dans ce chapitre, nous apprendrons comment manipuler des données dans la base de données. Pour cela
Dans le modèle présenté, nous avons trois tables : produit ; achat ; achat_produit. Chaque
le tableau a la fonction suivante :
stocke tous les produits. Enregistre la description du produit et son
prix unitaire
achat: stocke tous les achats effectués. La date est enregistrée
réalisation de l'achat et le lieu où l'achat a été réalisé;
stocke tous les produits qui ont été achetés dans un
achat déterminé. Il enregistre le code d'achat, le code du produit et
combien de produits ont été achetés (quantité).
Commande INSERT
La commande INSERT est utilisée lorsque l'on souhaite insérer une donnée dans la base de données.
Où :
INSÉRER DANS : commande de l'instruction ;
53
données : données relatives à chaque champ. Chaque donnée doit être séparée par une virgule
(,). Les données de type texte doivent être entre guillemets simples.
Pour chaque ensemble de données, un INSERT a été réalisé. Cependant, il est également possible
insérer de la manière suivante :
01 importer sqlite3
02 conn = [Link]('base_de_donné[Link]')
03 curseur = [Link]()
04 [Link](
05 'INSÉRER DANS produit (description, prixunitaire) VALUES (?, ?), (?, ?)
06 ('Cupim Bovino', 12.89, 'Costelinha Suína Sadia ou Perdigão', 10.99))
07 [Link]()
08 [Link]()
54
Ligne 03 : La fonction curseur est responsable de réaliser toute manipulation avec le
base de données. Chaque fois qu'il y a besoin de travailler avec une table, ce sera
nécessaire d'appeler cette fonction;
Lignes 04, 05 et 06 : La commande exécuter reçoit quelle commande doit être exécutée.
Dans ce cas, nous exécuterons la commande suivante :
Le symbole de question (?) indique qu'il sera nécessaire de passer un paramètre comme
référence. Dans ce cas, il sera nécessaire de passer quatre paramètres :
Exemple 02 : Il est souhaité d'insérer dans la table produit les données suivantes :
01 importer sqlite3
02 conn = [Link]('[Link]')
03 curseur = [Link]()
04 [Link](
05 'INSÉRER DANS produit (descricao, precounit) VALUES (?, ?)'
06 ('Filé de Tilápia Geneseas', 7,79)
07 [Link]()
08 [Link]()
Pour tester si les données sont stockées dans [Link], utilisez la commande suivante
site :
55
[Link]
56
Commande UPDATE
La commande UPDATE est responsable de l'édition d'une donnée qui existe déjà dans la table. Elle
Où :
MISE À JOUR DÉFINIR: commande de l'instruction;
01 importer sqlite3
02 conn = [Link]('base_de_donné[Link]')
03 curseur = [Link]()
04 [Link](
05 'METTRE À JOUR produit SET precounit = ? WHERE id = ?'
06 [Link]()
07 [Link]()
57
Exemple 04 : Changez la description et le prix unitaire du produit :
pour
8,99 WHERE id = 23
01 importer sqlite3
02 conn = [Link]('[Link]')
03 curseur = [Link]()
04 [Link](
05 METTRE À JOUR produit SET descricao = ?, precounit = ? WHERE id = ?
Camarão DellMare
07 [Link]()
08 [Link]()
Commande DELETE
La commande DELETE est utilisée pour supprimer une donnée d'une table de la base de données.
Où :
SUPPRIMER DE : commande de l'instruction ;
58
SUPPRIMER DE produit Où id = 23
01 importer sqlite3
02 conn = [Link]('[Link]')
03 curseur = [Link]()
04 [Link]('SUPPRIMER DE produit OÙ id = ?', (23,))
05 [Link]()
06 [Link]()
Commande SELECT
La commande SELECT est utilisée pour effectuer des requêtes sur les tables de la base de données.
Où :
SELECT : sélectionne les champs à afficher ;
champs : champs choisis pour l'affichage ;
DE : sélectionnez les tables utilisées;
tabelas choisies.
01 importer sqlite3
02 conn = [Link]('base_de_donné[Link]')
03 curseur = [Link]()
04 [Link]('SELECT descricao FROM produit')
05 pour ligne dans [Link]():
06 imprimer(ligne[0])
07 [Link]()
08 [Link]()
59
SÉLECTIONNER * À PARTIR DE produit
01 importer sqlite3
02 conn = [Link]('[Link]')
03 curseur = [Link]()
04 [Link]('SELECT * FROM produit')
05 pour ligne dans [Link]():
06 print('{0} - R$ {1}'.format(linha[1], linha[2]))
07 [Link]()
08 [Link]()
Pour visualiser tous les champs d'une table, utilisez le symbole astérisque (*). Dans ce cas
une liste contenant : (id, description, prixunitaire).
Position 0 identifiant
Position 1 description
Position 2 précounit
Commande WHERE
La commande WHERE est utilisée pour tester une certaine condition. Elle peut être
construit dans les commandes : INSERT ; UPDATE ; ou WHERE.
Exemple 07 : Afficher tous les produits dont le prix unitaire est supérieur à 500,00 R$.
01 importer sqlite3
02 conn = [Link]('base_de_donné[Link]')
03 curseur = [Link]()
04 [Link]('SELECT * FROM produto WHERE precounit > 500')
05 pour ligne dans [Link]():
06 {0} - R$ {1}
07 [Link]()
08 [Link]()
Exemple 08 : Affichez tous les produits dont la description commence par la lettre 'F'.
60
01 importer sqlite3
02 conn = [Link]('[Link]')
03 curseur = [Link]()
04 [Link]("SELECT * FROM produto WHERE descricao LIKE ?", ('F%',))
05 pour ligne dans [Link]():
06 print('{0} - R$ {1}'.format(linha[1], linha[2]))
07 [Link]()
08 [Link]()
Supposons que l'on souhaite afficher tous les produits réalisés dans un certain
achat. Dans ce cas, nous aurions besoin de :
SÉLECTIONNER
description
DE
produit
OÙ
[Link] = compra_produto.idcompra ET
[Link] = compra_produto.id ET
[Link] = 1
Interprétant le code ci-dessus, sélectionnez la description du produit de l'achat dont l'id est
égal à 1. Nous devons relier les tables, et pour cela il est nécessaire de comparer les
champs clés de la table principale avec leurs références respectives :
[Link] = compra_produto.idcompra ET
[Link] = achat_produit.id
61
01 importer sqlite3
02 conn = [Link]('[Link]')
03 curseur = [Link]()
04 [Link](
05 'SÉLECTIONNER descricao DE produit, achat, achat_produit ' +
06 'OÙ [Link] = compra_produto.idcompra ET ' +
07 '[Link] = compra_produto.id ET [Link] = 1')
08 pour ligne dans [Link]():
09 imprime('{0}'.format(linha[0]))
10 [Link]()
11 [Link]()
Exemple 09 : Présentez le montant total à payer pour l'achat dont l'id est égal à 1.
Pour obtenir le total d'un achat, il sera nécessaire de multiplier les colonnes
préconiser la quantité de chaque article. Pour cela, nous devons réaliser la suivante
consultation:
SÉLECTIONNER
Description
DE
produit
OÙ
[Link] = compra_produto.idcompra ET
[Link] = achat_produit.id ET
[Link] = 1
01 importer sqlite3
02 conn = [Link]('[Link]')
03 curseur = [Link]()
04 [Link](
05 'SÉLECTIONNER descricao, precounit, quantité DE produit, achat,
06 achat_produit OÙ [Link] = achat_produit.idachat ET ' +
07 '[Link] = achat_produit.id ET [Link] = 1')
08 total = 0
09 pour ligne dans [Link]():
10 print('{0} (R$ {1}) QUANT: {2}'.format(ligne[0], ligne[1], ligne[2]))
11 total += ligne[1] * ligne[2]
12 print('Total à payer : R$ {0}'.format(total))
62
13 [Link]()
14 [Link]()
Liste d'exercices G
1 L'utilisateur va saisir les données du nouveau produit et les enregistrer dans la base de données;
63
Traitement des Exceptions
En écrivant un code, le développeur peut commettre trois types d'erreurs : erreur logique ;
erreur de syntaxe; erreur d'exécution.
L'erreur logique se produit lorsque le développeur commet une erreur dans les règles de
dans le cadre de l'application, ce type d'erreur est généralement découvert lorsque des utilisateurs qui
L'erreur d'exécution se produit lorsque l'utilisateur demande à appeler une action et celle-ci
pour sa part n'arrive pas à être complétée en raison d'une erreur dans quelque instruction de
Dans cette instruction, le système ne signale pas d'erreur et permet l'exécution du code. Dans
Dans ce chapitre, nous verrons comment traiter les erreurs d'exécution à travers le traitement de
essayer :
x = 1/0
sauf BaseException :
Erreur de division par zéro
print('Continuation...')
64
Bien qu'une erreur se produise, l'exécution n'est pas interrompue.
Il est possible de déclarer plus d'un 'except' pour traiter différents types d'erreurs. Exemple :
import zipfile
essayer :
banco_zip = [Link]("[Link]")
banco_zip.extractall(path="banco")
banco_zip.close()
except FileNotFoundError :
print("Fichier inexistant")
sauf PermissionError :
Erreur de permission
Dans ce cas, le code traite deux types d'exceptions : la première est si le fichier n'est pas trouvé.
Pour chaque erreur, il est possible de spécifier son type, par exemple, lorsque un nombre est divisé.
par zéro l'erreur invoquée sera ZeroDivisionError. En Python, il existe une hiérarchie
des erreurs.
BaseException
o SystemExit
o KeyboardInterrupt
o GeneratorExit
o Exception
. Arrêter l'itération
. ErreurArithmétique
ErreurDePointFlottant
OverflowError
Erreur de division par zéro
. AssertionError
. Erreur d'attribut
. Erreur de tampon
. Erreur EOF
. ImportationError
. Erreur de recherche
65
IndexError
KeyError
. Erreur de mémoire
. NameError
UnboundLocalError
. OSError
BlockingIOError
Erreur de processus enfant
Erreur de connexion
erreur BrokenPipe
Erreur de connexion abandonnée
ErreurConnectionRefusée
ErreurConnectionRéinitialisée
FileExistsError
Erreur de fichier introuvable
Erreur d'interruption
IsADirectoryError
NotADirectoryError
Erreur de permission
Erreur de recherche de processus
Erreur de délai d'attente
. Référence d'erreur
. Erreur d'exécution
NotImplementedError
. Erreur de syntaxe
Erreur d'indentation
erreur de tabulation
. Erreur système
. TypeError
. ValueError
Erreur Unicode
une UnicodeDecodeError
erreur d'encodage Unicode
Erreur de traduction Unicode
. Avertissement
Avertissement de désapprobation
Avertissement de dépréciation en attente
Avertissement d'exécution
Avertissement de syntaxe
Avertissement utilisateur
Avertissement futur
Avertissement d'importation
Avertissement Unicode
Avertissement de bytes
Avertissement de ressource
S'il y a un doute sur quelle exception utiliser, il est possible d'invoquer le traitement d'erreur.
66
Action de nettoyage
En écrivant un code qui contient le traitement des exceptions, il peut arriver que
développer a besoin de nettoyer une variable, de fermer un fichier ou une procédure qui
soyez ouvert. Considérant ces cas, il existe une commande optionnelle qui peut être
utilisé en conjonction avec try/except. Cette commande est connue sous le nom de finally.
def lerMetaData(arquivo):
essayer
dados = open('data/meta-données/' + arquivo, 'rt')
metaData = []
pour ligne dans des données :
i = [Link]('\t')
[Link]((i[0], i[1].split('.')[0]))
sauf FileNotFoundError :
Fichier non trouvé.
enfin :
[Link]()
retourner les métadonnées
Commande raise
Cette commande est utilisée lorsque le développeur a besoin de provoquer une erreur contrôlée.
Suivez la syntaxe :
où
augmenter mot-clé utilisé pour provoquer l'erreur;
Erreur erreur à être invoquée.
Exemple :
def verifier(sabor):
67
si sabor pas dans ('CREME', 'CHOCOLATE', 'NAPOLITANO') :
lever BaseException
essayer :
Choisissez la saveur de glace à l'eau :
vérifier(saveur)
Bon choix
sauf BaseException :
Nous ne travaillons pas avec ce goût.
Liste d'exercices H
x = [1, 3, 5, 6, 7, 8]
i = 0
tant que i <= len(x):
imprimer(x[i])
i += 1
2) Créez un programme en Python qui reçoit n nombres et additionne ces nombres tant que la somme
ne dépassant pas 100. Le programme doit imprimer la valeur additionnée (avant d'atteindre le nombre
maior que 100) et devra informer combien de nombres ont été additionnés et quelle est la moyenne. Refaites votre
68
4) Supposons que l'utilisateur réalise des transactions sur son compte courant. Développez un code dans
Quel utilisateur saisira son solde initial. Il pourra effectuer un Débit ou un Crédit. Lancez une
exception si le solde du client devient négatif. Le montant du solde ne doit pas devenir négatif.
69
Fichiers
CROIX
70
Python et Arduino
71
Référence Bibliographique
CRUZ, [Link] : Écrivez vos premiers programmes. 1ère éd. Casa do Código : São
Paulo. 1998.
72