VaultBy ENSAMIENParrainage
Notebook

Partie 0 : Exercices

enonce.ipynb

Introduction au langage Python

Animé par : Dr. Guelzim Ibrahim    

TDP 01

Nom Prénom :

Répondez aux questions et envoyez à votre Classroom le fichier
ayant comme nom le format suivant

  • TDP_01_ProgPython_NOM_Prenom.ipynb

# Devinez la valeur de "a" après la séquence du code ci-dessous : 
a = 2
a = a**2+a+2
a
# Devinez la valeur de « a », « b », « c » après la séquence ci-dessous :
a, b, c = 1, 2, 3
a, b, c = b, c, a
a, b, c = c, a, b

a,b,c
# qu'affiche la séquence (Associativité Gauche-Droite):
print(6*2**3/4)
print(1 + 2**3/4*5)
# qu'affiche la séquence ?
t = True ; f = False
not((t or f) and f) != f
# qu'affiche la séquence ?

t = False ; f = True
not((t or f) and f) != f

Partie 1 : Structures conditionnelles

  • Ecrire un code python qui lit un entier saisit au clavier et Affiche si le nombre est pair ou Impaire
  • Ecrire un code qui saisi trois entier a,b et c et qui affiche quel est le max des trois
    !   Ne pas faire recours au fonctions min et max vues au cours
  • Ecrire un code qui saisit 3 chaines de caractères et qui les affiche séparées par le caractère étoile '*' (utiliser l'option end)

Partie 2 : Boucles

  • Saisir n un entier strictement positif et affichez sa racine si c'est un carré parfait, sinon affichez un message qu'il n'y pas de racine carrée entière de n .

Ci-dessous un programme qui crée le vecteur v , représenté par une liste de n entiers générés aléatoirement entre 1 et 10

n = 5
import random
v = [ random.randint(1, 10) for _ in range(n) ]
print("v :", v)
# de meme pour le vecteur w 
w = [ random.randint(1, 10) for _ in range(n) ]
print("w :", w)

- Produit scalaires de deux vecteurs

# calculer et afficher ici le produit scalaire v.w 

- Nombre Premier

  • Ecrire un programme qui lit un entier positif et affiche si cet entier est premier ou pas
  • On rappelle qu'un nombre premier est un nombre qui n'est divisible que par 1 et lui même
  • Vous devez arrêter les itérations une fois que vous trouviez un diviseur propre
    • indication : utiliser break

Inverser l'ordre d'une liste d'entier

- inverser l'ordre de la liste L :

    - les premiers éléments deviennent derniers et vice versa
    - l'indexation d'une liste commence à 0, le premier élément est L[0]
    - la taille de la liste est : len(L)
  • En utilisant la boucle while,
  • En utilisant la boucle for,

- Inverser chiffres d'un nombre:

Proposer un algorithme qui demande un entier n et affiche les chiffres de n en ordre inverse. - Exemple : si 1593 est entré alors on affiche 3951 sera affiché.

Liste Triée ?

  • écrire un code qui vérifie si une liste d'entier est triée ou pas en utilisant une boucle

Chaine Palindrome

Ecrire un code qui vérifie si une chaine de caractère ch est Palindrome ou pas (on suppose que toutes les lettres de la chaine sont des majuscules)
- Rappel : Une chaine Palindrome s'écrit de la même façon de Droite à gauche et de Gauche à droite
- Exemples : ROTOR , RADAR, ...

# par exemple : 
# ch = "ROTOR"

Expression Bien parenthésée

Une expression est dite bien parenthésée si : - Pour toute parenthèse fermante, il existe une parenthèse ouvrante qui la précède, et qui n’a pas encore été fermée. - Toute parenthèse ouvrante est fermée par une parenthèse fermante.

Ecrire un algorithme ayant en entrée une chaine de caractère ch (tableau de caractère) de longueur N, qui affiche si la chaine ch est bien parenthésée ou non.

  • Exemples :
    Les expressions suivantes sont bien parenthésées :
    • (3 - (2 - 9))
    • 1 + 4
      Les expressions suivantes ne sont pas bien parenthésées :
    • ((3) : une des deux parenthèses n’a pas été fermée.
    • (4)) : on ferme une parenthèse qui n’a pas été ouverte.

  • Indication : Ne pas utiliser des structures auxilières comme les piles, listes ...

Suite de Fibonacci,

  • écrire un programme python qui calcule Fn : l'ordre n de la suite de Fibonacci,

    • Rappel : Fb0 = 0 , Fb1 = 1, Fbn = Fbn-1 + Fbn-2 pour n>1
    • On suppose que n > 1

    1- En utilisant une liste
    2- Sans utilisation de liste

# par exemple :
n = 10
# Sol 1 : En utilisant une liste LF
LF = [0 for _ in range(n+1)]
# Solution:
# Sol 2 : Sans utilisation de liste
# Solution:

Chiffrement de César

  • César cryptait ses messages pour communiquer avec son armée
  • Chiffrement de César décalage des lettres
  • Pour crypter un message, A devient D B devient E C devient F
    • A → D,
    • B → E,
    • C → F,
    • ....
    • W → Z,
    • X → A,
    • Y → B,
    • Z → C

Indications: - Dans cet exercice on travaille qu'avec l'alphabet MAJUSCULE - pour récupérer le code ascii d'un caractère de l'alphabet utiliser la fonctionnalité ord()

# exemple
car = 'A'
x = ord(car)
print("Le code ASCII de",car, "est :",x)
  • pour récupérer le caractère de l'alphabet associé au code ascii x, utiliser la fonctionnalité chr()
# exemple
x = 66
print("Le caractère associé au code ASCII",x, "est :",chr(x))

écrire un code qui chiffre une chaine de caractère ch par un chiffre de César et affiche le résultat

écrire un code qui déchiffre une chaine de caractère chiffrée par le chiffre de César et affiche le résultat

    Type at least 2 letters. ↑ ↓ to move, Enter to open.