La boucle 'tant que'

On a vu dans la précédente feuille comment utiliser la boucle 'Pour', qui permet de réaliser un nombre d'opérations connues. Cependant, il n'est parfois pas possible de savoir combien de fois on va réaliser une opération :
Exemple : Soit la fonction f(x)=0.01x²+0.3x+1. On cherche la valeur de x à partir de laquelle f(x)>42000
Dans cet exemple, votre seule solution est de tester toutes les valeurs de x jusqu'à trouver une valeur telle que f(x)>42000 et vous ne savez pas combien de tests vous allez devoir faire. C'est dans ce cas que la boucle 'tant que' est utile :

In [3]:
#On commence par définir la fonction f(x)
def f(x):
    return 0.01*x**2+0.3*x+1

def cherche(valeur):
    x=0             #On initialise x
    while f(x)<valeur:    #Tant que f(x) est inférieur à ...
        x+=1              #On incrémente x
    #Si on sort de la boucle, c'est que f(x) dépasse la valeur seuil
    #On affiche le résultat
    print("la première valeur pour laquelle f(x)>"+str(valeur)+" est "+str(x))
    return x,f(x)

cherche(42000)
la première valeur pour laquelle f(x)>42000 est 2035
Out[3]:
(2035, 42023.75)

Exercices

Répondre aux questions suivantes en utilisant la boucle appropriée

1- Afficher les nombres de 1 à 20

2- Combien de fois faut-il mutliplier 3 par lui-même pour dépasser 10 000 ?

In [ ]: