Bonjour, j'ai besoin d'aide pour ce progamme, pouvez vous m'aidez ? ( python )

Écrire une fonction depasse(A) prenant en entrée un entier naturel A non nul et renvoyant le plus petit entier n tel que 2^n>A.

Remarques :
Pour écrire un code, on cherche d'abord simplement à traduire ce que l'on ferait "à la main".

Je cherche par exemple le premier entier n tel 2^n>13 :

Je teste avec n=0 : 2^0⩽13

Je teste l'entier suivant, avec n=1 : 2^1⩽13

Je teste l'entier suivant, avec n=2 : 2^2=4 et donc 2^2⩽13

Je teste l'entier suivant, avec n=3 : 2^3=8 et donc 2^3⩽13

Je teste l'entier suivant, avec n=4 : 2^4=16 et donc 2^4>13

.
Le premier entier n tel que 2^n>13 est donc n=4

J'essaie ensuite de traduire ma démarche à l'aide des instructions d'un langage de programmation. Qu'a-t-on fait ici ? On a testé les entiers un par un jusqu'à trouver le bon. Une telle recherche (répéter une action de même nature jusqu'à ce que ...) se traduit toujours en langage python par une boucle while.

Résumons ce que l'on a fait:

On commence avec n=0 Tant que 2^n⩽A, on incrémente n

Il ne reste qu'à traduire cela en python.

Sagot :

Réponse :

Explications :

Bonjour,

Voici la réponse en pièce-jointe !

En espérant t'avoir aidé, n'hésite pas à poser des questions si besoin.

View image olivierronat