0% ont trouvé ce document utile (0 vote)
13 vues22 pages

CM1 Python

Ce document présente les fondements de la programmation avec un accent sur les variables et les types de données en Python. Il explique les concepts d'algorithmes, de programmes, ainsi que les opérations sur les types de données tels que les entiers, flottants, booléens et chaînes de caractères. Des exemples de code illustrent les notions abordées, y compris la détection de palindromes et les règles de nommage des variables.

Transféré par

guillaume.garnier826
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
13 vues22 pages

CM1 Python

Ce document présente les fondements de la programmation avec un accent sur les variables et les types de données en Python. Il explique les concepts d'algorithmes, de programmes, ainsi que les opérations sur les types de données tels que les entiers, flottants, booléens et chaînes de caractères. Des exemples de code illustrent les notions abordées, y compris la détection de palindromes et les règles de nommage des variables.

Transféré par

guillaume.garnier826
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Fondements informatiques I

Cours 1: Variables et types

Sorina Ionica [Link]@[Link]

Sandrine Vial [Link]@[Link]

IN100 Cours 1 1 / 22
Qu’est-ce que c’est ?
Un algorithme
Suite finie d’instructions et opérations permettant de résoudre un problème
Pour donner un algorithme
Input : les données en entrée du problème
Output : la solution du problème
Les étapes qu’on doit effectuer pour résoudre

Exemple : vérifier si un mot est un palindrome


Input : un mot avec N caractères
Output: OUI ou NON

Commencer à la position i=1


Tant que i <= N/2
Pour tout car. à la position i du mot vérifier s’il coincide avec
le car. à la position N-i-1.
Si ce n’est pas le cas renvoyer NON
Passer à la position suivante (i:=i+1)
Renvoyer OUI
IN100 Cours 1 2 / 22
Qu’est que c’est ?

Un programme : est un ensemble d’instructions et d’opérations destinées à être


exécutées par un ordinateur.

Pour écrire un programme il faut utiliser un langage de programmation.

Détécter un palindrome (en Python)


mot= "Bonjour"
longueur=len(mot)
is_palindrome=True
for i in range(longueur // 2): # on parcourt jusqu’à la moitié
if mot[i] != mot[longueur - 1 - i]:
is_palindrome=False # dès qu’une différence est trouvée
print(is_palindrome)

IN100 Cours 1 3 / 22
A-t-on besoin de tout cela ?

Dans la vie de tous les jours :


les applications web : banque, courses en ligne etc.
les jeux video
les applications mobiles : Calculatrice, WhatsApp etc
l’intelligence artificielle : ChatGPT

Une multitude de langages de programmation selon le besoin informatique auquel


on doit répondre :
C, C++, Java, C#, JavaScript, PHP, Python, Kotlin etc.

IN100 Cours 1 4 / 22
Python

Créé par Guido van Russom (Pays-Bas)


Première version de Python en 1991
Parmi les caractéristiques du langage :
multiplateforme : Windows, Linux, MacOs, Android...
gratuit et open-source
langage interprété : les instructions d’un programme sont exécutées ligne par
ligne par un interpréteur

IN100 Cours 1 5 / 22
Les variables

x = 2
y = x
print(x)
print(y)
y = 3
print(x, y)

L’instruction x=2 stocke la valeur 2 dans la variable x.


2 et 3 sont des objets de type entier (cf plus tard)
x et y sont des identifiants qui font référence à l’un de ces objets
règle de style : on met un espace après une virgule mais pas avant

IN100 Cours 1 6 / 22
Échanger deux variables

Méthode fausse
x = 2
y = 3
x = y
y = x Deuxième méthode
print(x, y) #plus pythonesque:
#utilisation de tuples
x = 2
Première méthode y = 3
x = 2 x, y = y, x
y = 3 print(x, y)
z = x
x = y
y = z
print(x, y)

Remarque : on a ajouté un commentaire avec le caractère #

IN100 Cours 1 7 / 22
Régles de nommage des variables

Caractères autorisés :
caractère alphabétique (A à Z) en majuscule ou minuscule
chiffres (0 à 9)
caractère souligné (touche 8 du clavier)
et c’est tout ! Ni espace, ni caractères accentués...
Le nom ne doit pas commencer par un chiffre
Python est sensible à la casse : les variables toto et toTo sont différentes
Ne pas utiliser un mot réservé du langage comme print et toutes les
fonctions natives que nous verrons

IN100 Cours 1 8 / 22
Régles de nommage des variables

Recommandations annexes
sauf exceptions, donner un nom explicite aux variables tel nb de vie
suivre cet exemple, cad séparer les mots par des sans majuscules
éviter d’autres formes telles NbDeVie ; au moins être cohérent dans tout le
programme

IN100 Cours 1 9 / 22
Types de données

Le type d’une donnée détermine :


les opérations que l’on peut lui appliquer
les valeurs qu’elle peut prendre

Exemples
x=2
y=3
z=x+y
x="Bonjour tout le monde"

En Python, le typage est dynamique et implicite :


Le type de la variable est déterminé lors de son affectation.
Le type d’une variable peut changer au cours du temps.

IN100 Cours 1 10 / 22
Types de données

Les types prédéfinis que l’on va manipuler au début sont :


les nombres entiers, flottants ...
le type booléen
les chaı̂nes de caractères

a = 5
print(a , type(a))

a = 3.14
print(type(a))

print(type("hello world"))

IN100 Cours 1 11 / 22
Les nombres

entiers : de précision arbitraire


flottants : utilise le point comme séparateur décimal

Exemples
x=1
y=2.0
z=2e+20

Sur les nombres, on utilise les opérateurs arithmétiques usuels : +,-, * etc.
L’utilisation de flottants et d’entiers dans une expression numérique donne
une valeur flottante

print(type(5 + 2.0))
print(type(7 * 1.0))

IN100 Cours 1 12 / 22
Opérateurs sur les nombres
L’opérateur / effectue une division flottante. Il renvoie un flottant même si le
numérateur et dénominateur sont des entiers
L’opérateur // effectue une division entière. On arrondit par l’entier le plus
proche.
L’opérateur ** effectue l’exponentiation à la puissance
L’opérateur % donne le reste d’une division

Qu’affiche-t-on ?

a=11/2
print(a)
b=11//2
print(b) print(type(a+b))
c=10**10 print(type(a+c))
print(c)
d=11%2
print(d)

IN100 Cours 1 13 / 22
Opérateurs d’affectation augmentés

Ajouter la valeur de b à la variable a :

a, b = 2, 3
a += b
print(a)

Incrémenter (ajouter 1 à une) variable :

a += 1
print(a)

Autres opérateurs : -=, *=, etc...

IN100 Cours 1 14 / 22
Conversion de types

Fonctions de conversion (utilisable quand cela a un sens) :


int : conversion en entier
float : conversion en flottant

Exemples print(type(a))
x = 1 # int print(type(b))
y = 3.14 # float

#conversion de int à float:


a = float(x)
print(a)
print(b)
#conversion de float à int:
b = int(y)
Qu’affiche-t-on ?

IN100 Cours 1 15 / 22
Représentation des flottants

En Python, représentés suivant le standard IEEE 754


Sur machine, les flottants sont représentés par des fractions en base 2.
La précision est limitée, alors la plus part du temps on manipule une
approximation

print(float(10**309))

(0.1).as_integer_ratio()

print(0.1+0.2)

3 * 0.1 == 0.3

IN100 Cours 1 16 / 22
Type booléen

Utile pour les instructions de contrôle d’un programme.


Deux valeurs : False et True.
Opérateurs logiques : and, or, not
Opérateurs de comparaison :
>, <
>= supérieur ou égal, <= inférieur ou égal
== test d’égalité
!= test de non égalité

Exemple
a = (5 < 2)
print(a, type(a))

IN100 Cours 1 17 / 22
Les opérateurs logiques

a not a
True False
False True a b a or b
True True True
a b a and b True False True
True True True False True True
True False False False False False
False True False
False False False

L’opérateur not fait passer une valeur de False à True, ou inversement.


L’opérateur and retourne True si et seulement si les deux opérandes sont
vraies.
L’opérateur or retourne True si au moins l’un des opérandes est vraie.

IN100 Cours 1 18 / 22
Type booléen

Quels opérateurs dans l’exemple suivant ?

Qu’affiche-t-on ?

Exemple
a = -0.5
res = (a <= 0) or (a > 1 and a < 3 and a != 2)
print(res)

IN100 Cours 1 19 / 22
Chaı̂nes de caractères (string)

Suite de caractères entre guillemets (simple ou double).


Des opérations sur les chaı̂nes de caractères sont fournies nativement.

s1 = "hello"
s2 = ’world’

print(s1, s2)
print(s1 + s2)
print(len(s1))
print(s1 > s2)
print(s1 in s2)
print([Link]())
str(3)+str(5)

Question : quelle est la signification de ces opérations ?

IN100 Cours 1 20 / 22
Concaténation de chaı̂nes de caractères

L’opérateur + fait la concaténation de deux chaı̂nes de caractères.


Attention à ne pas mélanger les types !
Vous noterez le caractère retour à la ligne \n.

"hello" + "3" # et non pas "hello"+3


print("hello" * 3)
print("hello\n"*3)

IN100 Cours 1 21 / 22
Récupérer une valeur tapée au clavier par un utilisateur

s = input("Entrer un texte\n")
print(s)

s = input("entrer un nombre entier\n")


print("le nombre qui le précède est", s - 1)

s = input("entrer un nombre entier\n")


print("le nombre qui le précède est", int(s) - 1)

Avec input on récupère une chaı̂ne de caractères.


Fonctions de conversion (utilisable quand cela a un sens) :
int : conversion en entier
float : conversion en flottant
str : conversion en chaı̂ne de caractères

IN100 Cours 1 22 / 22

Vous aimerez peut-être aussi