Exercice 1 : Que font les programmes suivants ?


In [ ]:
a, b, c = 1, 1, 1             
                              
print(1)                       
while c<15:                   
    a, b, c = b, a+b, c+1
    print(b)

Notez la différence entre la version précédente et la version suivante... L'ordre dans lequel les affectations des valeurs aux variables sont effectuées est important !


In [ ]:
a, b, c = 1, 1, 1             
                              
print(1)                       
while c<15:                   
    a = b
    b = a+b
    c = c+1
    print(b)

In [ ]:
ch = "? eluor ac"
lc = len(ch)
i = lc - 1 
sortie = ""
while i >= 0:
  sortie = sortie + ch[i]
  i = i - 1
print(sortie)

Ci-dessous, quelques tests pour voir comment se comportent les chaînes de caractères :


In [ ]:
toto = "? eluor ac"
print(len(toto))
print(toto[3])

In [ ]:
x = 11
n = 0
while n < 10:
    print(n, x)
    if x % 2 == 0:
        x = x // 2
    else:
        x = 3 * x + 1
    n = n + 1

Mini-cours sur la division entière :


In [ ]:
a = 9
print(a%2)
print(a//2)

In [ ]:
n = int(input("n? "))
c = int(input("c? "))
i = n * c
while i > 0:
    i = i - 1
    ligne = ""
    j = n * c
    while j > 0:
        j = j - 1
        a = i // c
        b = j // c
        if (a + b) % 2 == 0:
            ligne = ligne + "."
        else:
            ligne = ligne + "#"
    print(ligne)

Exercice 2 : Les pièges de Python, ou de l'importance de tester

  • Rappels sur les bornes et les intervalles
  • Rappels sur les opérateurs logiques : and, or, not
  • Rappels sur les opérateurs de comparaison : <, <=, >, >=, !=, ==
  • Rappels sur la priorité des opérateurs mathématiques (+ - * / ** // %)
  • Rappels sur la notion de float

In [ ]:
print(round(14.34, 1))
a = 2.456789
b = 2.55
c = 2.50
print(round(a, 2)) 
print(round(a))
print(round(b))
print(round(c))

In [ ]:
a = 5
print(a*2 * 3.14)

In [ ]:
a = False
b = True
c = True
print((a and b) or c)
print(a and (b or c))
print(a and b or c)

Exercice 3 : Tiens, une nouvelle notation ?!?


In [ ]:
tt = [1, 5, 12, 38, 43, 34, 21, 2, 15]
a = []
b = []
print ("Longueur de tt", len(tt), " et longueur de a ", len(a))
i = 0
while i < len(tt):
  if tt[i] % 2 == 0:
      a.append(tt[i])
  else:
      b.append(tt[i])
  i = i + 1
print("truc :", a)
print("bidule :", b)

In [ ]:
a = []
chaine = "bonjour!"
while chaine != "":
  print("Entrez un truc !")
  chaine = input()
  if chaine != "":
      a.append(chaine)
print(a)

Exercice de synthèse : Écrire un programme qui demande à un utilisateur une série de notes et les stocke dans une liste. La saisie s'arrête quand l'utilisateur entre -1. Affichez la liste, et la moyenne des notes arrondie à 2 chiffres après la virgule.


In [ ]:
liste_notes = []
note = 0
somme = 0
while note != -1:
    note = float(input())
    if note != -1:
        liste_notes.append(note)
    
print(liste_notes)

for a in liste_notes: 
    somme = somme + a
    
print(somme/len(liste_notes))

In [ ]: