Exercices de base avec Python solides de Platon spirituel

Correction des exercices de Python suggérés par Gérard Swinnen dans son livre "Apprendre à programmer avec Python". Ce livre peut être téléchargé au format PDF ici.
La correction est proposée pour Python 2.7 et n’est évidemment pas exhaustive.


Il existe de nombreux sites Web en langage Python et, lorsque vous démarrez en Python, il est difficile de trouver des sites permettant une utilisation concrète et instantanée des scripts Python par les néophytes. Au cours de la navigation, j'ai découvert ce livre qui a une utilisation immédiate et extrêmement pratique.

La plupart des scripts de cette page sont inspirés de ce livre.
Pour vous exercer et apprendre à programmer en Python, il vous suffit d’ouvrir un terminal (sous Mac ou Linux) ou un environnement vous permettant d’écrire des scripts Python sous Windows et de copier-coller les scripts proposés après l’écriture.

> python

dans votre terminal.

Python, les bases: lecture de code

  • En utilisant l'opérateur du module:

    >>> a = 7
    >>> bois d'if (a % 2 == 0):
    imprimer "a est même"
    imprimer "parce que le reste de sa division avec 2 est zéro"
    autre:
    imprimer "a est étrange"

  • Donnez le résultat obtenu lorsque vous exécutez ce code Python:

    >>> a = 0
    >>> tandis que (a < 7): # (n'oubliez pas le double point!)
    a = a + 1 # (n'oubliez pas l'indentation!)
    imprimer a

  • Lire le code suivant:

    >>> a = 0
    >>> bois d'if a > 0 :
    imprimer "a est positif"
    Elif a < 0 :
    imprimer "a est négatif"
    autre:
    imprimer "est zéro"

Changez-le pour tester un nombre réel.

  • Lecture et compréhension du code:

    - > Que fait le programme ci-dessous, dans les quatre cas où la variable a était définie précédemment comme 1, 2, 3 ou 15?

    bois d'if a != 2:
    imprimer & # 39; perdu & # 39;
    Elif a == 3:
    imprimer Un instant, s'il vous plaît.
    autre:
    imprimer & # 39; Won & # 39;

- > Que font les programmes suivants?

a = 5
b = –1
bois d'if (a == 5) & (b < 2):
imprimer "&" signifie "et"; on peut aussi utiliser
le mot "et"

a, b = 2, 4
bois d'if (a == 4) or (b != 4):
imprimer & # 39; Won & # 39;
Elif (a == 4) or (b == 4):
imprimer presque gagné

a = 1
bois d'if pas a:
imprimer & # 39; Won & # 39;
Elif a:
imprimer & # 39; perdu & # 39;

Et celui-ci avec une coïncidence:

importations au hasard
pour Je en rangs(100):
a = au hasard.randint(0,10)
bois d'if pas a:
imprimer & # 39; Won & # 39;
Elif a:
imprimer & # 39; perdu & # 39;

Python, les bases: écriture de code

Calcul simple avec variables numériques

  • Ecrivez un programme qui calcule le volume d’un tuyau rectangulaire parallèle dont la largeur, la hauteur et la profondeur ont été données à l’origine.

# Ouvrez un terminal et tapez la commande python
>>> # – * – Encodage: utf-8 – * – # Cette première ligne est obligatoire lorsque vous utilisez des caractères accentués.

>>> l =apport("Spécifiez la largeur:")
>>> h =apport("Entrez la hauteur:")
>>> p =apport("Entrer Profondeur:")
>>> imprimer("Volume du parallélépipède ="+str(l*h*p))

Code de Production:

# Ouvrez un terminal et accédez au répertoire dans lequel le programme Python est nommé, par exemple VolumeParallelepipedeRectangle.py.
> python & # 39; ./ VolumeParallelepipedeRectangle.py & # 39;
Spécifiez la largeur: 7
Entrez la hauteur: 4
Entrez la profondeur: 8
Volume du parallélépipède = 224
>

Utilisation de la boucle for

Suite de motifs géométriques 3

  • Ecrivez un programme qui montre une suite de 12 nombres, chaque terme étant égal au triplement du terme précédent.

a =apport("Entrez un numéro:")
pour Je en rangs(12):
imprimer(je +1a)
a = un*3

Résultats du programme:

# Ouvrez un terminal et accédez au répertoire où se trouve le programme Python nommé pour l'exemple SuiteTriples.py.
>python & # 39; ./ SuiteDe12Triples.py & # 39;
Entrez un numéro: –2
(1, –2)
(2, –6)
(3, –18)
(4, –54)
(5, –162)
(6, –486)
(7, –1458)
(8, –4374)
(9, –13122)
(10, –39366)
(11, –118098)
(12, –354294)

Plus de 7

  • Ecrivez un programme qui liste les 20 premiers multiples de 7.

    # Dans un terminal python:
    >>>
    >>> pour Je en rangs(0,20):
    imprimer(7*Je)

    0
    7
    14
    21
    28
    35
    42
    49
    56
    63
    70
    77
    84
    91
    98
    105
    112
    119
    126
    133
    >>>

Pour avoir les 20 premiers multiples de 7 non nuls, nous allons:

>>>
>>> pour Je en rangs(1,21):
imprimer(7*Je)

7
14
21
28
35
42
49
56
63
70
77
84
91
98
105
112
119
126
133
931
>>>

Nous pouvons améliorer l'affichage du résultat en utilisant des chaînes et donc la fonction str () qui transforme un entier en chaîne.

>>> pour Je en rangs(20):
imprimer(« »+str(Je)+"* 7 ="+str(Je*7))

>>>

Code de Production:

# Ouvrez un terminal et accédez au répertoire où le programme Python a appelé l'exemple MultiplesDe7.py.

> python & # 39; ./ MultiplesDe7.py & # 39;
0*7 = 0
1*7 = 7
2*7 = 14
3*7 = 21
4*7 = 28
5*7 = 35
6*7 = 42
7*7 = 49
8*7 = 56
9*7 = 63
10*7 = 70
11*7 = 77
12*7 = 84
13*7 = 91
14*7 = 98
15*7 = 105
16*7 = 112
17*7 = 119
18*7 = 126
19*7 = 133
>

  • Ecrivez un programme qui liste les 20 premiers termes de la table de multiplication par 7 et indique en passant (avec un astérisque) ceux qui sont des multiples de 3.

    chaîne =« »
    pour Je en rangs(20):
    plus =(je +1)*7
    bois d'if plus%3 == 0:
    chaîne + =« »+str(je +1)+"* 7 ="+"*"+str((je +1)*7)+" n"
    autre:
    chaîne + =« »+str(je +1)+"* 7 ="+str((je +1)*7)+" n"
    imprimer(chaîne)
    >>>

Code de Production:

# Ouvrez un terminal et accédez au répertoire dans lequel le programme Python est nommé, par exemple MultiplesDe7WithMarkingSiMultipleDe3.py.

> python & # 39; ./ MultiplesDe7AvecMarquageSiMultipleDe3.py & # 39;
1*7 = 7
2*7 = 14
3*7 = *21
4*7 = 28
5*7 = 35
6*7 = *42
7*7 = 49
8*7 = 56
9*7 = *63
10*7 = 70
11*7 = 77
12*7 = *84
13*7 = 91
14*7 = 98
15*7 = *105
16*7 = 112
17*7 = 119
18*7 = *126
19*7 = 133
20*7 = 140
>

Jointures multiples d'une chaîne

  • Ecrivez un programme qui montre la séquence de symboles suivante:

*
**
***
****
*****
******
*******

a =& # 39; * & # 39;
pour Je en rangs(7):
imprimer(a*(je +1))

Conversion des devises

Ecrivez un programme qui montre une table de conversion avec des sommes d'argent exprimées en euros, en dollars canadiens. La progression de la somme de la table sera "géométrique", comme dans l'exemple ci-dessous:

1 euro(s) = 1,65 dollar(s)
2 euro(s) = 3.30 dollar(s)
4 euro(s) = 6.60 dollar(s)
8 euro(s) = 13.20 dollar(s)

etc. (arrêt à 16384 euros)

s = 1
coeff =apport("Entrez le taux de change du dollar canadien:")
tandis que s <= 16384:
imprimer(str(s)+"euro (s) ="+str(s*coeff)+"dollar (s)")
s = s *2

Résultats du programme:

# Ouvrez un terminal et accédez au répertoire où le programme Python a appelé l'exemple EurosEnDollars.py.
> python & # 39; ./ EurosEnDollars.py & # 39;
Entrez le taux de change du dollar canadien: 1,39
1 euro(s) = 1,39 dollar(s)
2 euro(s) = 2,78 dollar(s)
4 euro(s) = 5,56 dollar(s)
8 euro(s) = 11h12 dollar(s)
16 euro(s) = 22,24 dollar(s)
32 euro(s) = 44,48 dollar(s)
64 euro(s) = 88,96 dollar(s)
128 euro(s) = 177,92 dollar(s)
256 euro(s) = 355,84 dollar(s)
512 euro(s) = 711,68 dollar(s)
1024 euro(s) = 1,423.36 dollar(s)
2048 euro(s) = 2,846.72 dollar(s)
4096 euro(s) = 5,693.44 dollar(s)
8192 euro(s) = 11386,88 dollar(s)
16384 euro(s) = 22773,76 dollar(s)
>

Conversion des secondes en années, mois, jours, heures, minutes, secondes

  • Ecrivez un programme qui convertit un nombre entier de secondes donné en nombre d'années, mois, jours, heures, minutes et secondes.

Les opérateurs // (division entière) et% (modulo) seront utilisés.

# – * – Encodage: utf8 – * –
# Le nombre de secondes est donné en premier:
# (très nécessaire!)
nsd = 12345678912
# Nombre de secondes dans une journée:
nspj = 3600 * 24
# Nombre de secondes par an (365 jours –
# année bissextile ne sera pas considéré):
nspa = nspj * 365
# Nombre de secondes dans un mois (en supposant que
# pour chaque mois une durée identique de 30 jours):
nspm = nspj * 30
# Nombre d'années dans la durée spécifiée:
to = nsd // nspa
# division
nsr = nsd % nspa
N ° de seconde résidus
Nombre de mois restants:
nmo = nsr // nspm
# division
nsr = nsr % NSPM
N ° de seconde résidus
Nombre de jours restants:
nj = nsr // nspj
# division
nsr = nsr % nspj
N ° de seconde résidus
# Nombre d'heures restantes:
nh = nsr // 3600
# division
nsr = nsr % 3600
N ° de seconde résidus
Minutes restantes:
nmi = nsr // 60
# division
nsr = nsr % 60
N ° de seconde résidus
imprimer("Nombre de secondes à convertir:"+str(NSD))
imprimer("Cette durée est égale"+str(na)+"année de 365 jours plus"+str(NMO)+"mois de 30 jours"+str(New Jersey)+« Jours »+str(New Hampshire)+« Heures »+str(NMI)+"minutes et"+str(NSR)+ « secondes ».)

Résultats du programme avec confirmation:

>python & # 39; ./ SecondesEnAmjhms-Python2.py & # 39;
Nombre de secondes à convertir: 12345678912
Cette durée correspond 391 années de 365 jours, plus 5 mois de 30 journées 24 journées 19 heures 15 minutes et 12 secondes.
>

Exercices à faire

Exercices sur les cordes

  • Ecrivez un script qui détermine si une chaîne contient ou non le caractère "e".
  • Ecrivez un script qui compte le nombre d'occurrences du caractère "e" dans une chaîne.
  • Ecrivez un script qui copie une chaîne (dans une nouvelle variable) et insère des étoiles entre les caractères.
    Par exemple, "gaston" devrait être "g * a * s * t * o * n"
  • Ecrivez un script qui copie une chaîne (dans une nouvelle variable) en l’inversant. Par exemple, "zorglub" deviendra "bulgroz".
  • Sur la base de l'exercice précédent, écrivez un script qui détermine si une chaîne de caractères donnée est un palindrome (c'est-à-dire une chaîne pouvant lire indifféremment dans un sens ou dans l'autre), telle que "radar" ou "SOS".

Exercices sur les listes

  • Les listes suivantes sont:
    t1 = (31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31)
    t2 = (& # 39; Janvier & # 39;; & # 39;; Février & # 39;; # 39; Mars & # 39; & # 39;; avril & # 39; & # 39; & # 39; & # 39; & # 39; & # 39; 39 juin, 39 juillet, 39 août, 39 septembre, 39 octobre, 39 novembre, 39 novembre ;, & # 39; December & # 39;)
    Ecrivez un petit programme qui crée une nouvelle liste t3. Cela doit inclure tous les éléments des deux listes en les échangeant de sorte que le nom de chaque mois soit suivi du nombre de jours correspondant:
    ("31 janvier, 31 février, 28 février, 31 mars, etc.").
  • Ecrivez un programme qui "nettoie" répertorie tous les éléments d'une liste. Par exemple, s'il a été utilisé sur la liste t2 de l'exercice ci-dessus, nous devrions obtenir:
    Janvier février mars avril mai juin juillet août septembre octobre octobre novembre décembre
  • Ecrivez un programme qui recherche l'élément le plus volumineux d'une liste donnée. Par exemple, s'il a été utilisé dans la liste (32, 5, 12, 8, 3, 75, 2, 15), ce programme devrait afficher la phrase suivante:
    l'article le plus important sur cette liste est 75.
  • Ecrivez un programme qui analyse tous les éléments d'une liste de nombres (par exemple, de l'exercice précédent) pour générer deux nouvelles listes. L'un ne contiendra que les mêmes numéros dans la liste d'origine et l'autre les nombres impairs. Par exemple, si la liste d'origine est celle de l'exercice précédent, le programme devra créer une liste d'homologues qui contiendra (32, 12, 8, 2) et une liste impaire qui contiendra (5, 3, 75, 15 ).
    Conseil: pensez à utiliser l'opérateur de module (%) déjà mentionné ci-dessus.
  • Ecrivez un programme qui analyse tous les éléments d’une liste de mots un par un (par exemple: & # 39; Jean & 39; Maximilian & 39; Brigitte & 39; Sonia & # 39; & # 39;; # 39; Jean & Pierre & Sandra & # 39;)) pour générer deux nouvelles listes. L'un contiendra des mots de moins de 6 caractères, les autres de 6 caractères ou plus.

au cours de votre trip d’apprentissage des cristaux, vous avez peut-être rencontré des mots et des échanges étranges que vous n’auriez peut-être jamais cru avoir un rapport avec les cristaux, comme le tétraèdre, l’icosaèdre et les solides de Platon. Et tu pensais que tu n’aurais jamais besoin de ta géométrie après le lycée ! Alors, que sont exactement les solides de Platon ? En matière simples, il s’agit de polygones pleins ( une forme bidimensionnelle où tous les côtés et les angles sont égaux ), qui ont des faces planes et dont chaque face a la même forme et la même taille. Platon a théorisé que les éléments principaux ( terre, aspect, feu et eau ) étaient directement liés aux robustes. il existe cinq robustes de Platon : Tétraèdre – 4 faces ( feu ) ; Cube – 6 faces ; Octaèdre – 8 faces ; Dodécaèdre – 12 faces, et Icosaèdre – 20 faces ; Tétraèdres, qui ressemblent à une pyramide, sont associés à l’élément feu. Les cubes sont associés à la terre. Les octaèdres ressemblent à un losange et sont liés à le composant de l’air. Les icosaèdres ( constitués de 20 triangles équilatéraux ) sont associés à le composant eau. Le dernier et souvent appelé le cinquième élément, l’éther, ou Akasha, a été nommé par Aristote et on dit que c’est ce qui compose le ciel. Le dernier solide de Platon, le dodécaèdre, est associé à le composant d’éther

Laisser un commentaire