Aller au contenu

01a Révision Les bases

Programmer un ordinateur c'est quoi ?⚓︎

Programmer, c'est créer des programmes (suite d'ordres donnés à l'ordinateur). Un ordinateur sans programme ne sait rien faire.

Un algorithme c'est quoi ?⚓︎

Pour faire exécuter une tâche par ordinateur, il faut tout d’abord, détailler suffisamment les étapes de résolution du problème, pour qu’elle soit exécutable par l’homme. Ensuite, transférer la résolution en une suite d’étapes si élémentaire et simple à exécuter, pouvant être codée en un programme dans un langage compréhensible par ordinateur.

Toute suite d’étapes si élémentaire et simple à exécuter s’appelle un ALGORITHME.

image_cuisine

image_cuisine

Débuter avec Basthon ⚓︎

Dans un nouvel onglet du navigateur internet, aller sur basthon.fr et choisir "Console".

  1. Aller sur le site Basthon.
  2. Choisir l'option "Console" pour exécuter du code Python.
  3. Vous pouvez également utiliser l'éditeur de scripts pour écrire des programmes plus complexes.

👉 Cependant, dans ce cours, nous utiliserons principalement l’éditeur intégré à la page du cours, qui est un notebook interactif et permet d’écrire et d’exécuter directement du code Python. Pour cela il faut ouvrir la partie Python

image_python

image_python

image_python

Dans un second temps, nous utiliserons également Capytale, un environnement collaboratif adapté à l’enseignement.

Affichage⚓︎

Activité n° 1 : Affichage

Recopiez la ligne suivante dans l'éditeur de script exécutez-la :

🐍 Script Python
print("Hello World!")
Observez le résultat dans la console.

Python

###

Solution

Lorsque vous exécutez ce script, le message "Hello World!" doit apparaître dans la console. Vous venez d'écrire votre premier programme en Python !

Remarque : Vous pouvez utiliser des guillemets simples ou doubles pour délimiter les chaînes de caractères en Python.

Activité n° 2 : Affichage

Essayez d'écrire un programme qui affichera votre prénom à l'écran. Testez-le.

Python

###

Solution

Exemple de solution si votre prénom est Alice :

🐍 Script Python
print("Alice")

Les variables et les affectations⚓︎

Pour fonctionner, un algorithme a besoin de mémoriser des données (saisies par l’utilisateur, résultats à afficher, résultats intermédiaires lors d’un traitement…) afin de pouvoir les réutiliser. Pour cela il utilise ce qu’on appelle une variable.

Une variable est l'association d'un espace de la mémoire de l'ordinateur, accessible par son nom, et d'une valeur que l'on y stocke.

Le rangement d’une donnée dans une variable (un contenant) s’appelle l’affectation.
On peut se représenter une variable comme une boîte portant une étiquette ("le nom de la variable") à l'intérieur de laquelle on peut placer un contenu (la valeur de la variable).

image_boite

En Python, l'affectation se réalise avec l'opérateur =.

🐍 Script Python
a = 5

Cela met en mémoire l'entier 5 dans la variable a.

🐍 Script Python
a = "easy"

Cela met en mémoire la chaîne de caractères "easy" dans la variable a.

Activité n°3 : Affectation

Avec l'éditeur de script, testez le code suivant :

🐍 Script Python
tartempion = 15
print(tartempion)
Python

###

Solution

Résultat :

📋 Texte
15

L'instruction print permet d'afficher la valeur contenue dans la variable tartempion.

Modifier le code comme ceci :

🐍 Script Python
tartempion = 15
print("tartempion")
Python

###

Solution

Résultat :

📋 Texte
tartempion

Alors, que se passe-t-il ? En plaçant tartempion entre guillemets, Python affiche la chaîne de caractères "tartempion" au lieu de la valeur de la variable.

Activité n°4 : Affectation

Écrire un programme dans lequel on attribue la valeur 12 à la variable moyenne. La valeur de moyenne doit ensuite s'afficher à l'écran.

Python

###

Solution
🐍 Script Python
moyenne = 12
print(moyenne)

Résultat :

📋 Texte
12

Faire des calculs⚓︎

Activité n°5 : Calcul

Que vaut a à la fin de ce script :

🐍 Script Python
a = 1
b = -1
a = a * b
a = a + b
Python

###

Solution

Résultat : Il faut rajouter print(a) à la fin du script et on obtient :

📋 Texte
-2

Explication : 1. a = 1 2. b = -1 3. a = 1 * -1 donc a = -1 4. a = -1 + (-1) donc a = -2

La valeur finale de a est -2.

Activité n° 6 : ❤️ Echange de valeurs entre 2 variables ❤️

Proposer un programme qui permet d'échanger les valeurs stockées dans les variables a et b.

Python

###

Solution

Utilisation d'une variable temporaire :

🐍 Script Python
a = 8
b = -3
temp = a
a = b
b = temp
print(a, b)
Ce programme échangera les valeurs : a devient -3 et b devient 8.

Ou en Python plus simple :

🐍 Script Python
a, b = b, a
print(a, b)
Activité n°7 : Division

Compléter le programme suivant pour que la variable total contienne le résultat de la division de dividende par diviseur.

🐍 Script Python
dividende = 13
diviseur = 4
total = dividende / diviseur
print(total)
Python

###

Solution

Résultat :

📋 Texte
3.25

Activité n°8 : Division euclidienne

La division précédente n'est pas entière. Pour faire calculer la division euclidienne, il faut utiliser //. Testez maintenant ce code :

🐍 Script Python
a = 13
b = 4
resultat = a // b
print(resultat)
Python

###

Solution

Résultat :

📋 Texte
3
// effectue une division entière.

Activité n°9 : Reste de la division euclidienne

Pour faire calculer le reste de la division euclidienne, il faut utiliser %. Testez maintenant ce code :

🐍 Script Python
a = 13
b = 4
resultat = a % b
print(resultat)
Python

###

Solution

Résultat :

📋 Texte
1
Ce programme affiche 1 car 13 divisé par 4 donne un reste de 1.

Explication :

  • // représente la division entière (quotient sans décimale).

  • % permet d’obtenir le reste de la division.

La division entière permet de déterminer la valeur tronquée de la division et le modulo permet de déterminer la valeur du reste.

On souhaite effectuer la division de 3395 par 99.

On s’est arrêté car 29 est plus petit que 99 et qu’on ne souhaitait pas aller plus loin et se retrouver avec un nombre à virgule. On a effectué une division dite division entière. On en déduit donc que 3395 = 99 * 34 + 29

Activité n°10 : Puissance (exponentiation)

Tester :

🐍 Script Python
3 ** 2
2 ** 3
Python

###

Solution

Résultat :

📋 Texte
9
8

Activité n°11 : Incrémentation d'une variable

Que fait ce programme ?

🐍 Script Python
a = 11
print(a)
a = a + 1  # incrémentation de la variable a
print(a)
Python

###

Solution

Résultat :

📋 Texte
11
12

La variable a est incrémentée de 1, c'est-à-dire que sa valeur passe de 11 à 12.

Affichage en Python⚓︎

Activité n°12 : Variable

Tester :

🐍 Script Python
print("Vivement les vacances !")
prenom = "Bob"
print("Mon prénom est :", prenom)
Python

###

Solution

Résultat :

📋 Texte
Vivement les vacances !
Mon prénom est : Bob

Activité n°13 : Variable

Réalisez un script qui contient trois variables : prenom, nom et age et qui doit afficher :

📋 Texte
Bonjour je m'appelle Alphonse Dansletas, j'ai 358 ans.
Python

###

Solution
🐍 Script Python
prenom = "Alphonse"
nom = "Dansletas"
age = 358
print("Bonjour je m'appelle ",prenom, nom, "j'ai" ,age, "ans.")

Résultat :

📋 Texte
Bonjour je m'appelle Alphonse Dansletas, j'ai 358 ans.

Dialoguer avec l'utilisateur⚓︎

La fonction input permet d'ouvrir une boîte de dialogue et de récupérer une information saisie par l'utilisateur.

L'information récupérée grâce à un input est une chaîne de caractères.

Activité n°14 : Dialogue

Tester :

🐍 Script Python
prenom = input("Quel est ton prénom ?")
print(prenom)
Python

###

Solution

Résultat (si vous entrez Alice) :

📋 Texte
Alice

Activité n°15 : Dialogue

Écrire un script en Python qui demande à l'utilisateur son prénom, son nom et son âge, puis qui doit afficher :

📋 Texte
Bonjour je m'appelle Alain Térieur, j'ai 217 ans.

(Dans le cas où vous vous appelleriez Alain Térieur et que vous seriez âgé de 217 ans.)

Python

###

Solution
🐍 Script Python
prenom = input("Quel est votre prénom ? ")
nom = input("Quel est votre nom ? ")
age = input("Quel est votre âge ? ")

print("Bonjour je m'appelle, prenom, nom", j'ai", age, "ans.")

Résultat (si vous entrez Alain, Térieur et 217) :

📋 Texte
Bonjour je m'appelle Alain Térieur, j'ai 217 ans.

Activité n°16 : Dialogue avec un entier

Un boulanger désire un programme qui demande à l'utilisateur le nombre de baguettes qu'il désire, qui calcule le prix total (sachant qu'une baguette coûte 1.10 €) et qui affiche le prix que l'utilisateur doit payer.

  1. Tester le script suivant avec 2 :
🐍 Script Python
nombre = input("Combien de baguettes désirez-vous ?")
prix = nombre * 1.1
print("Vous avez à payer", prix, "euros.")
Python

###

Solution

Résultat attendu : Vous obtenez une erreur ou un résultat incorrect car input retourne une chaîne de caractères. La multiplication d'une chaîne par un nombre ne donne pas le résultat escompté.

Erreur possible :

📋 Texte
TypeError: can't multiply sequence by non-int of type 'float'

  1. Testez le script suivant avec 2 :
🐍 Script Python
nombre = int(input("Combien de baguettes désirez-vous ?"))
prix = nombre * 1.1
print("Vous avez à payer", prix, "euros.")
Python

###

Solution

Résultat :

📋 Texte
Vous avez à payer 2.2 euros.

Différence : Ici, nous convertissons la chaîne de caractères en un nombre entier avec int(), ce qui permet de faire correctement la multiplication.

Fonction int et fonction float⚓︎

L'instruction int permet de convertir certaines chaînes de caractères en un nombre entier.

L'instruction float permet de convertir certaines chaînes de caractères en un flottant, c'est-à-dire un "nombre à virgule".

Activité n°17 : Dialogue avec un entier

Vous êtes chargé(e) de mettre en place une borne automatique pour régler les droits d’entrée à un parc d’attractions.

Chaque adulte doit payer 21 € pour rentrer et chaque enfant doit payer 13 €.

Écrire un programme en Python qui demande à l'utilisateur le nombre d'adultes et d'enfants, puis affiche le prix total à payer.

Python

###

Solution
🐍 Script Python
A = int(input("Combien d'adultes dans le groupe ? "))
E = int(input("Combien d'enfants dans le groupe ? "))

P = (A * 21) + (E * 13)

print("Le prix total à payer est de",P, "euros.")

Exemple de résultat (si vous entrez 2 adultes et 3 enfants) :

📋 Texte
Le prix total à payer est de 81 euros.

Les chaines de caractères⚓︎

Activité n°18 : Délimiter les chaines de caractères

Affichez des chaînes de caractères délimitées par des apostrophes et des guillemets.

🐍 Script Python
a = 'une chaine délimitée par des apostrophes'
print(a)                    

b = "une chaine délimitée par des guillemets"
print(b)
Python

###

Solution
🐍 Script Python
une chaine délimitée par des apostrophes
une chaine délimitée par des guillemets
Activité n°19 : Délimiter les chaines de caractères

Faire afficher exactement :

  • C'est bientôt Noël

  • Bonjour se dit "Hello"

Python

###

Solution
🐍 Script Python
print("C'est bientôt Noël")
print('Bonjour se dit "Hello"')

Résultat :

📋 Texte
C'est bientôt Noël
Bonjour se dit "Hello"

Activité n°20 : Test d'appartenance

Testez l'appartenance d'un caractère dans une chaîne avec l'opérateur in.

🐍 Script Python
chaine = 'Bonjour'

print('b' in chaine)  
print('B' in chaine)  
Python

###

Solution

Résultat :

📋 Texte
False
True

Pourquoi ? La recherche est sensible à la casse. 'b' minuscule n'est pas dans "Bonjour", tandis que 'B' majuscule l'est.

Activité n°21 : Concaténation

Concaténez deux chaînes de caractères avec l'opérateur +.

🐍 Script Python
chaine1 = 'Bonjour'
chaine2 = ' à tous.'

print(chaine1 + chaine2)
Python

###

Solution

Résultat :

📋 Texte
Bonjour à tous.

Activité n°22 : Concaténation

À partir de deux chaînes de caractères :

  • Aujourd'hui

  • se dit "Today"

Faites afficher la phrase complète par concaténation.

Python

###

Solution
🐍 Script Python
chaine1 = "Aujourd'hui"
chaine2 = ' se dit "Today"'

print(chaine1 + chaine2)

Résultat :

📋 Texte
Aujourd'hui se dit "Today"

Activité n°23 : Fonction len()

Utilisez la fonction len pour obtenir le nombre de caractères dans une chaîne.

🐍 Script Python
chaine = 'Bonjour à tous.'

print(len(chaine))  
Python

###

Solution

Résultat :

📋 Texte
15

Les espaces et la ponctuation comptent également comme des caractères.

Activité n°24 : Lecture de Caractères dans une Chaîne avec des Indices

Lisez un caractère dans une chaîne avec chaine[index].

image des indices de bonjour

🐍 Script Python
chaine = 'bonjour'

print(chaine[0])   
print(chaine[1])   
print(chaine[-1])  
print(chaine[-2])  
Python

###

Solution

Résultat :

📋 Texte
b
o
r
u

Activité n°25 : Lecture de Caractères dans une Chaîne avec des Indices

À partir de :

🐍 Script Python
chaine = 'Bonjour'
Faire afficher Bnu.

Python

###

Solution
🐍 Script Python
print(chaine[0] + chaine[2] + chaine[5])

Résultat :

📋 Texte
Bnu

Un slice permet le découpage de structures de données séquentielles (comme les chaînes de caractères ou les listes). La syntaxe utilisée est : [début:fin:pas].

NB : si pas < 0, la liste est parcourue dans le sens inverse.

Activité n°26 : Extraction de Sous-chaînes avec le Slicing

Utilisez le slicing pour lire une sous-chaîne avec chaine[debut:fin:pas].

🐍 Script Python
chaine = 'Bonjour'

print(chaine[0:2])    # Bo
print(chaine[2:5])    # njo
print(chaine[:])      # Bonjour
print(chaine[1:])     # onjour
print(chaine[::2])    # Bnor
print(chaine[::-1])   # ruojnoB
Python

###

Solution

Résultat :

📋 Texte
Bo
njo 
Bonjour
onjour
Bnor
ruojnoB

Activité n°27 : Extraction de Sous-chaînes avec le Slicing

À partir de :

🐍 Script Python
a = "C'est bientôt Noël"

Faire afficher :

  • bientôt

  • Csbnto

  • tôtneib

  • Noël

  • lëoN

Python

###

Solution
🐍 Script Python
print(a[6:13])        # bientôt
print(a[0::3])         # Csbnto
print(a[12:5:-1])    # tôtneib
print(a[-4:])        # Noël
print(a[-1:-5:-1])   # lëoN

Résultat :

📋 Texte
bientôt
Csbnto
tôtneib
Noël
lëoN

Activité n°28 : Attention aux apostrophes

Tester :

🐍 Script Python
chaine = 'Aujourd\'hui'   # Séquence d'échappement \'
print(chaine) 

chaine = "Aujourd'hui"    # Utilisation des guillemets
print(chaine)
Python

###

Activité n°29 : Les sauts de ligne

Tester :

🐍 Script Python
chaine = 'Premiere ligne\nDeuxieme ligne' 
print(chaine)
Python

###


Activité n°30 : Problème d'addition entre chaînes et nombres

Tester :

🐍 Script Python
chaine = 'a' 
# chaine = chaine + 2  # Provoque une erreur
chaine2 = chaine + str(2)  # Solution correcte
print(chaine2)  # Résultat : 'a2'
Python

###

Remarque :
- Python ne peut pas additionner directement une chaîne (str) et un entier (int).
- La conversion explicite avec str() permet de résoudre ce problème.

Activité n°31 : Conversion en minuscules

Tester :

🐍 Script Python
chaine = "BONJOUR"
chaine2 = chaine.lower()   # Convertit en minuscules
print(chaine2) 
print(chaine) 
Python

###

Activité n°32 : Séparer une phrase en mots

Tester :

🐍 Script Python
texte = "Il est important de construire"
print(texte)

mots = texte.split(' ')  # Découpe la phrase en mots
print(mots)
Python

###

Activité n°33 : Fusionner une liste en chaîne

Tester :

🐍 Script Python
texte = "Il est important de construire"

liste1 = ' '.join(texte)  # Séparé par un espace
print(liste1) 

liste2 = ','.join(texte)  # Séparé par une virgule
print(liste2)
Python

###