Langage Python:
Séance 4 - La boucle while

Commençons par un exemple. Entrer le code suivant:


  q=float(input("Raison q > 1: "))
  premierterme=float(input("Premier terme u0 > 0: "))
  
  u=premierterme
  N=0

  while u < 100:
  	u=u*q	      # L'indentation est obligatoire.  
  	N=N+1
  
  print(N)

"While" signifie "tant que", ainsi tant que la condition u < 100 est vérifiée, le programme effectue les lignes de commandes indentées et teste à nouveau la condition. Le programme tourne en boucle jusqu'à ce que la condition ne soit plus vérifiée, dans ce cas les lignes de commandes indentées ne sont pas effectuées et le programme passe à la prochaine ligne non indentée, ici print(N).

Expliquer le rôle du programme précédent.

Par quoi peut-on remplacer N=N+1 en python?

Les exercices

Exercice 1: Le nombre secret (suite....)

Ecrire un programme qui demande à un joueur 1 de choisir un nombre secret entier entre 0 et 100 puis, à un joueur 2, d'essayer de le trouver en lui indiquant, tant qu'il n'a pas trouvé, s'il est trop haut ou trop bas.




Mini-projet: Top chrono

Tout d'abord, vous devez comprendre quelques notions du module time.
Regarder ce que renvoie la méthode time du module time à l'heure où j'ai écrit ces lignes:


 >>> time.time()
 1415137775.415836  

Importer ce module et taper la ligne de commande précédente
Mon chiffre renvoyé n'est pas le votre...
En fait il correspond au temps en secondes qui nous sépare du 1er janvier 1970 à 00:00:00, cette date est appelée l'Epoch Unix, date choisie comme temps initial pour chaque ordinateur.
Déterminer l'heure et le jour où j'ai écrit ces lignes? Autre chose à savoir parmi toutes les méthodes de ce module time que nous verrons plus tard: afficher l'heure en format HH:MM:SS sous le type string .
Ceci se fait avec cette commande:

 >>> time.strftime("%H:%M:%S") 

Un athlète va commencer sa course. Il souhaite connaitre ses temps intermédiaires à chaque tour.
Ecrire un programme qui demande à l'utilisateur de lancer ou non le chronomètre. (Le temps qui s'écoule n'est pas à afficher)
Dès que celui-ci répond "oui", le programme affiche l'heure du début de la course. Ensuite, tant que l'utilisateur répond "oui" à la question: "Afficher le temps intermédiaire?", le faire. S'il répond "non", la course est finie: le programme affiche alors le temps totale de la course et l'heure de fin.
Voici ce que vous devez obtenir:

 >>>
 Course débutée à 13:54:05
 Temps intermédiaire: 64.12 secondes
 Temps intermédiaire: 120.35 secondes
 Temps intermédiaire: 178.13 secondes
 Temps intermédiaire: 232.41 secondes
 Chrono: 282.79 secondes
 Course terminée à 13:58:47