Exercices sur les instructions conditionnelles

Exercices sur les instructions conditionnelles#

Structure if ... :, elif ... : et else:#

Exercise 20

def tictactoe(a):
    if a < 1 :
        return "TIC"
    elif a > 8.5 :
        return "TAC"
    else:
        return "TOE"

Que renvoie l’appel

  1. tictactoe(0) ?

  2. tictactoe(8.5) ?

  3. tictactoe(10) ?

Exercise 21

def mystere(a, b):
    reponse = 1
    if a == 0:
        if b == 0:
            reponse = 0
    return reponse

Que renvoie l’appel mystere(0, 1) ?

Exercise 22

def mystere (n) :
    if n % 3 == 0 or n % 5 == 0 :
        if n % 3 == 0 :
            resultat = 'A'
        else :
            resultat = 'B'
    else :
        if n % 5 == 0 :
            resultat = 'C'
        else :
            resultat = 'D'
    return resultat

Quelle est la valeur de mystere(10) ?

Exercise 23

def mystere(a, b):
    if a < b:
        return a * b
    else:
        return 2 * a

Que renvoie l’appel mystere(3, 5) ?

Exercise 24

On considère la fonction test_cascade dont le code est donné ci-dessous.

def test_cascade(num):
    resultat = ""
    if num > 3:
        resultat = "3"
        if num < 5:
            resultat = "5"
            if num == 7:
                resultat = "7"
    return resultat
  1. Que renvoie l’appel test_cascade(7) ?

  2. Expliquer le résultat.

Exercise 25

On considère la fonction test_cascade dont le code est donné ci-dessous.

def test_cascade(num):
    if num > 3:
        return "3"
        if num > 5:
            return "5"
            if num == 7:
                return "7"
  1. Que renvoie l’appel test_cascade(7) ?

  2. Expliquer le résultat.

  3. Cette fonction renvoie-t-elle toujours quelque chose ?

Structure while ... :#

Exercise 26

n = 8.0
while n > 1.0 :
    n = n / 2

Que renvoie l’exécution de ces lignes ?

Exercise 27

x = 4
while x > 0 :
    y = 0
    while y < x :
        y = y + 1
        x = x - 1

Quelles sont les valeurs finales de x et y ?

Exercise 28

1def puissance (a,m) :
2     p = 1
3     n = 0
4     while n < m :
5          p = p * a # <>
6          n = n + 1
7     return p

À la ligne 5, on pourrait mettre en commentaire que

  • \(p = a^n\)

  • \(p = a^{n - 1}\)

  • \(p = a^{n + 1}\)

  • \(p = a^m\)

Exercise 29

def seuil(n):
    i=0
    resultat=1
    while resultat < n:
         i=i+1
         resultat=resultat*2
    return i

Quel est le résultat de l’instruction seuil(65) ?

Exercise 30

On considère la fonction suivante :

def capital_double (capital, interet):
    montant = capital
    n = 0
    while montant <= 2 * capital:
        montant = montant + interet
        n = n + 1
    return n
  1. Expliquer, sans paraphraser le code, ce que fait cette fonction.

  2. Proposer une docstring.

  3. Renommer la variable n.

Exercise 31

Proposer une fonction pour renvoyer la somme des \(n\) premiers inverses des entiers naturels.

Exercise 32

Un jeu de hasard se joue de façon inconditionnelle en 6 manches. Quel type de boucle peut-on utiliser pour programmer un tel jeu ?