Vous êtes sur la page 1sur 3

Nom : …………………………………………… Filière : IA BTS : Al kindy

Prénom :………………………………………… 2022/2023


Contrôle n°1 : Programmation Python
1) Quelles sont les caractéristiques du langage python ?
a) Il est multiplateforme d) C’est un langage de haut niveau
b) C’est un langage interpreté e) Il est dynamiquement typé
c) Il est orienté objet
2) Que représente IPython : Interpréteur
3) Pourquoi Python est dynamiquement typé ? Le type d’une variable est défini
dynamiquement, sans déclaration, à partir de l’objet affecté.
4) A. Définir les deux concepts suivants :
a) Objet muable (mutable en anglais) : Sa valeur peut changer après sa création.
b) Objet immuable (immutable en anglais) : Sa valeur est définitivement fixée lors
de sa création.
B. Donner un exemple d’une structure de données muable et un autre pour une
structure de données immuable. Liste pour une structure de données muable, et
tuple pour une structure de données immuable.
5) Soient les instructions suivantes :
>>> a=[0, 1, 3]; b=a; a[1]=2 ;
a) Quels sont les types de a et de b ?
a et b sont des variables de types liste
b) Quelles sont les valeurs de a et de b après l’exécution des instructions ci-dessus ?
a=[0, 2, 3] et b=[0, 2, 3]
c) Que peut-on déduire ?

L’affectation b=a copiant la référence, les variables pointent sur le même objet.
Remarques :
❖ Deux objets différents peuvent avoir le même type et la même valeur (mais un
identifiant différent), il s’agit alors de deux instances différentes d’une même
classe.
❖ Une variable de type immuable peut voir sa valeur changer à travers une
nouvelle afaffectation, mais il y a alors création d’un nouvel objet.
Nom : …………………………………………… Filière : IA BTS : Al kindy
Prénom :………………………………………… 2022/2023
6) Ecrire un programme Python qui demande à l’utilisateur de saisir un entier et de lui
renvoyer s’il s’agit d’un nombre palindrome ou non.
Remarque : Un nombre palindrome est un nombre qui se lit de la même façon de
la gauche vers la droite ou de la droite vers la gauche. Par exemple : 202, 4224 et
1243421 sont des nombres palindromes.
Programme en python :

# Fonction itérative pour vérifier si un nombre donné est un palindrome ou non


Nom : …………………………………………… Filière : IA BTS : Al kindy
Prénom :………………………………………… 2022/2023
def isPalindrome(num):

# N stocke l'entier donné


N = num

# V stocke l'inverse de l'entier donné


V=0

while N:

# cela stockera le dernier chiffre de N dans la variable r


# par exemple si N est 1234, alors r serait 4
r = N % 10

# ajouter r à V à sa place
# par exemple si V = 65 et r = 4, alors le nouveau V serait 654
V = V * 10 + r

# supprimer le dernier chiffre de N


# par exemple si N est 1234, alors le nouveau N serait 123
N=N//10

# cette expression renverra 1 si le nombre donné est égal à


# son inverse ; sinon, il retournera 0
return num == V

# Fonction récursif pour inverser un nombre donné


def reverse(n, rev=0):

# Boîtier de base
if n == 0:
return rev

rev = rev * 10 + (n % 10)


rev = reverse(n // 10, rev)
return rev

Vous aimerez peut-être aussi