Aller au contenu

TD⚓︎

Exercice 1

Donner le résultat des expressions logiques suivantes sachant que a, b et cvalent respectivement 10, 2 et 6:

a < b or a > c
a + b < 2 * c
a - b == b + c
(a > b and a > c) or (b > a and b > c)
a < b < c
a == b == c
(a <= b and a <= c) or not (b < a)
not (a > b and a > c) or (b > a and b > c)
>>> a < b or a > c
True
>>> a + b < 2 * c
False
>>> a - b == b + c
True
>>> (a > b and a > c) or (b > a and b > c)
True
>>> a < b < c
False
>>> a == b == c
False
>>> (a <= b and a <= c) or not (b < a)
True
>>> not (a > b and a > c) or (b > a and b > c)
False

Exercice 2

Écrire un programme qui demande un entier saisi au clavier par l’utilisateur et affiche strictement positif s’il est strictement positif.

nb = int(input("Entrez un nombre : "))
if nb > 0:
    print("Strictement positif")

Exercice 3

Écrire un programme qui demande à l’utilisateur le poids de son bagage en kilos. Si le bagage pèse plus de 20 kilos, le programme affichera le message :

Vous devez payer un supplément.

poids = float(input("Entrez le poids du bagage : "))
if poids > 20:
    print("Vous devez payer un supplément.")

Exercice 4

Qu'affiche le programme suivant :

a = 10
if a > 1000:
    print("grand")
print("nombre")

affiche nombre

Exercice 5

Écrire un programme qui demande un entier saisi au clavier par l’utilisateur et affiche positif si l'entier est positif ou nul et negatif sinon.

nb = int(input("Entrez un nombre : "))
if nb >= 0:
    print("positif")
else:
    print("négatif")

Exercice 6 Evaluations d'un programme

Qu’affiche le programme ci-dessus lorsque :

  • on appelle foo(1, 0)
  • on appelle foo(2, 2)
  • on appelle foo(3, 0)
  • on appelle foo(4, 4)
def foo(a, b):
    print('toto')
    if a > 2:
        print('tata')
        if b >= a:
            print('truc')
        else:
            print('bla')
        print('poire')
    print('42')
  1. toto
    42
    
  2. toto
    42
    
  3. toto
    tata
    bla 
    poire
    42
    
  4. toto
    tata
    truc 
    poire
    42
    

Exercice 7: Transformation de conditions imbriquées

Modifier le programme suivant pour qu'il ne contienne qu'une seule condition.

def bar(a, b):
    if a > 0:
        if b == 2 * a
            print("Le nombre positif b est le double de a")
        else:
            print("a est négatif ou b n'est pas le double de a")
    else:
        print("a est négatif ou b n'est pas le double de a")
def bar(a, b):
    if a > 0 and b == 2 * a :
            print("Le nombre positif b est le double de a")
    else :
        print("a est négatif ou b n'est pas le double de a")

Exercice 8: Où est cette valeur ?

Pour quelles plages de valeur de la variable a le programme suivant affiche-t-il X ?

Que se passe-t-il si a n’est pas de type int ?

if a > 10:
    print('a grand')
elif a < 5:
    print('a petit')
else:
    print('X')